gpt4 book ai didi

javascript - AngularJS ui.router,从子状态更改为父状态,无需重新加载

转载 作者:行者123 更新时间:2023-12-03 08:59:33 24 4
gpt4 key购买 nike

有类似的问题,但没有关于这个具体案例的问题。

我有一个导航栏,用户可以在其中转到状态帖子通知。在帖子状态下,可以单击帖子并转到 posts.details。与通知状态相同。

postsposts.detail 共享 Controller 和模板。

有效方法:navbar->posts,然后点击帖子,用户到达 posts.details,再次 navbar->posts ,用户看到最后 x 个帖子。

不起作用:navbar->notifications,点击通知(来自帖子),用户登陆posts.detail。到目前为止还可以。现在点击navbar->posts, Controller 将不会重新加载。

这里有一些代码片段:

路由.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

最佳答案

根据documentation您可以使用 ui-sref-opts 指令在更改状态时重新加载 Controller :

<a ui-sref="notifications" ui-sref-opts="{reload: true}">...</a>

关于javascript - AngularJS ui.router,从子状态更改为父状态,无需重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32355456/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com