在开发过程中遇到使用路由控制单页加载页面时,点击菜单页面不重新刷新的情况,angularjs认为路由没有变化,而不会去刷新页面,解决办法:
1 angular.module('myApp').directive('diHref', ['$location', '$route', 2 function($location, $route) { 3 return function(scope, element, attrs) { 4 scope.$watch('diHref', function() { 5 if(attrs.diHref) { 6 element.attr('href', attrs.diHref); 7 element.bind('click', function(event) { 8 scope.$apply(function(){ 9 if($location.path() == attrs.diHref) $route.reload(); 10 }); 11 }); 12 } 13 }); 14 } 15 }]);
这样在a标签中使用定义的指令,即可以实现强制刷新的要求
<a di-href="/action0001" >home</a>