有类似的问题,但没有关于这个具体案例。
我有一个导航栏,用户可以转到状态posts
和notifications
。在帖子状态下,您可以点击帖子并转到posts.details
。通知状态相同。
posts
和posts.detail
共享控制器和模板。
什么有用:navbar->posts
,然后点击帖子,用户登陆posts.details
,再次navbar->posts
,用户看到最后x个帖子。
不起作用:navbar->notifications
,点击通知(来自帖子),用户登陆posts.detail
。到目前为止还好。现在点击navbar->posts
,控制器不会重新加载。
这里有一些代码片段:
route.js
.state('posts', {
url: '/',
templateUrl: 'client/Posts/posts.ng.html',
controller: 'PostsCtrl',
resolve: {
'subscribtion': ['speakLocalData', function(speakLocalData) {
return speakLocalData.subscribeAll();
}]
}
})
.state('posts.detail', {
url: 'posts/:id',
templateUrl: 'client/Posts/posts.ng.html',
controller: 'PostsCtrl',
resolve: {
'currentUser': ['$meteor', function($meteor) {
return $meteor.requireUser();
}]
}
})
navbar.ng.html
<li ui-sref-active="active">
<a ui-sref="posts">
<span class="glyphicon glyphicon-home"></span>
</a>
</li>
<li ui-sref-active="active" ng-show="$root.currentUser">
<div class="noti_bubble" ng-show="notiCounter>0">{{ notiCounter }}</div>
<a ui-sref="notifications">
<span class="glyphicon glyphicon-bell"></span>
</a>
</li>
有一个实时版here。使用用户名登录:demo
,密码:demo123
。
源代码的Github存储库:here
答案 0 :(得分:1)
根据documentation,您可以使用ui-sref-opts
指令在更改状态时重新加载控制器:
<a ui-sref="notifications" ui-sref-opts="{reload: true}">...</a>