当我直接转到代码时,我的问题得到了最好的解释。如何从一个控制器获取参数到另一个控制器?
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而没有参数。我在说清楚(这是一个棘手的问题) –