当用户点击新视图和位置/视图时,我想更改页面内容的部分。我说一些,因为如果我要更改所有内容,我会知道使用routeProvider
并加载新模板。
因此,当$ location.url()更改为'dash / new'时,如何才能使以下功能起作用?
$scope.currentRoute = $location.url();
if currentRoute == 'dash/my' {
console.log('go!')
}
在Angular JS中根据$ location.url()更改内容是不是很糟糕? The documentation说要“观察和观察”,但如果你不能根据它采取行动那么又有什么选择呢?
答案 0 :(得分:1)
查看$route
documentation。它包含您可以使用的$routeChangeStart
和$routeChangeSuccess
等事件。在您的控制器中订阅这些事件并执行必要的逻辑。
答案 1 :(得分:1)
我希望这会对你有所帮助:
$rootScope.$on("$routeChangeStart", function(event, next, current) {
// no logged user, we should be going to #login
if (next.$$route.originalPath == "/login") {
// say hello when start change view to #login
}
});
如果你在app.run方法中使用它,也许没问题。 如果你想在routeChanges之后处理,$ rootScope。$ on(“$ routeChangeStart”,function(event,next,current)
答案 2 :(得分:0)
您是否查看了$watch上的角度文档?
这是一个主页
的例子scope.$watch('name', function() {
scope.greeting = scope.salutation + ' ' + scope.name + '!';
}); // initialize the watch
为什么你不能在$ location.url上做到这一点?