在我的Angular应用中,某些路由将reloadOnSearch
设置为false,以便Bootstrap tabs正常工作。
当其中一个视图中的链接链接到另一个视图时,就会出现问题。链接只是不起作用,因为控制器不会重新加载视图。
所以我必须在这些链接上使用ng-click
。
$scope.goToThisPage = function () {
$location.path(newPage);
$route.reload();
};
但是,这不起作用,并始终将我带到默认路由。如果我用$scope.$apply()
替换函数的最后一行,也会发生同样的情况。
在reloadOnSearch
设置为false的路线之间移动的最佳方法是什么?
答案 0 :(得分:0)
每个选项卡都有单独的控制器吗?
据我所知,reloadOnSearch: false
只会阻止控制器重新加载,如果网址中的查询参数或哈希值发生变化。因此,在/route/page?param=1
和/route/page?param=2
之间移动不会重新加载控制器,但绝对应该转移到/route/anotherpage
。
我不完全理解你是如何得到这个问题的,但是对于它的价值,这就是我在拥有一个控制器时解决reloadOnSearch问题的方法。即使控制器和视图在搜索参数更改时没有重新加载,$location
仍然会这样做,所以我只是在控制器中监听$locationChangeSuccess
并对回调中的绑定范围变量进行任何更改。
修改强>
查看标签文档,您是不是可以不使用链接切换标签,而是使用.tab("show")
调用ng-click
方法?