网上有各种刷新子页面路由的方法,但是不知道为什么放到我的页面就不行了,尴尬!
网上的方法有:
<a rel="external nofollow" ui-sref="app.tomenu" ui-sref-opts="{reload:'app.tomenu'}"> <!-- 这个方法刷新当前路由页面 -->
另外也可以用$state.reload();
$state.reload()
是加载整个页面;
$state.reload('app.tomenu');
加载当前页面;
<a href="" ng-click=" rel="external nofollow" reloadcurpage()"> <!-- controller里面 $scope --> $scope.reloadcurpage = function(){ $state.reload('app.tomenu'); }
如果以上方法都不行的,可以试一下这样:
controllerjs里面:点击后,先reload刷新一下,然后定时器里面跳转到url路由,这样就可以刷新子路由页面了。(定时器设置小一点,这样跳转就不会显得“生硬”)
$scope.tosubpage = function (name) { var param = {}; if (name == 'report') { param = {id: 1}; } $state.reload(); $timeout(function () { $state.go('home.' + name, param,{reload:false}); },5) }
总结
以上所述是小编给大家介绍的angularjs ui-router刷新子页面路由的方法,希望对大家有所帮助