我正在创建一个导航“树”,它基本上允许您导航到父视图,如此
Home > Planner > Contacts > john.smith@hotmail.com
此列表只是一个普通的<ul>
,每次更改视图时都应更改,并允许用户点击上述任何链接进行导航。我正在使用ui-router
的{{1}}事件来构建我的链接列表,问题是我的指令在每次页面更改时都不会“重新构建”此列表。
有没有办法在每次改变状态时强制指令重新渲染?
TreeNav指令
$stateChangeStart
答案 0 :(得分:2)
我相信您没有正确设置$watch
声明。
您还应该谨慎使用.reverse
。 reverse()
反转数组中的条目,这可能不是您想要做的,因为它会修改$rootScope
上的数组。
您可以使用splice()
创建新副本,然后将其反转:
scope.treeNavs = $rootScope.treeNavs.splice().reverse();
$rootScope.$watch('treeNav', function(newVal) {
scope.treeNavs = newVal.splice().reverse();
});