當我直接轉到代碼時,我的問題得到了最好的解釋。如何從一個控制器獲取參數到另一個控制器?
HTML部分:
<div class="panel panel-default post" ng-repeat="post in posts">
<div class="panel-body">
<div class="row">
<div class="col-sm-2">
<a class="post-avatar thumbnail" href="/profile#/{[ post.profileID ]}">
<div class="text-center">{[ user.fullname ]}</div>
</a>
</div>
</div>
</div>
當我點擊/ profile文件#/ {[post.profileID]}鏈接 - 它需要我的個人資料頁。這裏都很好。
不過,我使用ngView所以我已經分居這樣的:
<div class="col-md-3">
<div>Some HTML stuff</div>
</div>
<div class="col-md-6">
<div ng-view></div>
</div>
<div class="col-md-3">
<div>Some HTML stuff</div>
</div>
我ngView利用了/ profile文件#/ {[post.profileID]} PARAM的,我用它來顯示什麼我必須展示。
問題:
我能得到的配置文件ID PARAM在我的角度控制器,但一旦我得到它,我怎麼能夠把它轉嫁到其他控制器?
我的控制器看起來像下面:
var profileApp = angular.module('profileApp', ['ngRoute']);
profileApp.config(function($routeProvider) {
$routeProvider
.when('/:id', {
templateUrl : 'partial/profile/feed.html',
controller : 'mainController'
})
.when('/posts:id', {
templateUrl : 'partial/profile/posts.html',
controller : 'postsController'
});
});
profileApp.controller('mainController', ['$scope', '$http', '$routeParams', function($scope, $routeParams){
console.log($routeParams.id);
}]);
profileApp.controller('postsController', ['$scope', '$routeParams', function($scope, $routeParams){
console.log($routeParams.id);
}]);
正如你所看到的,我得到得到HTML鏈接通過帕拉姆,並在mainController使用它,但我怎麼會得到帕拉姆做個鏈接在col-md-3中(就像原來的/ profile#/ {[post.profileID]})?
希望這是有道理的。這一直讓我瘋狂!
感謝
這就是我正在做的。 「.when('/ posts:id',{」將來自外部(「col-md-3」)的鏈接,但問題是我無法構造href URL而沒有參數。我在說清楚(這是一個棘手的問題) –