我的角度应用程序是非标准的,因为我们不使用路由提供程序或UI路由器。我们使用durandal风格的导航,使用$ http。
交换视图locationChangeStart永远不会激发我认为,因为我们没有在SPA中更改我们的URL(尽管我们计划将来这样做)。我无法对此进行测试,但是如果我们保留在SPA中并且我们将URL更改为指向通过代码的新视图(同样,不使用routeProvider / UiRouter)我应该期望此事件被触发吗?
我的主要问题是我无法处理这些事件:手动网址更改,后退/前进/历史记录按钮,外部链接点击
我看到$ browser #onUrlChange是广播$ locationChangeStart事件的函数,但该函数仅在我加载页面加载时被调用,但它似乎正是应该被调用的代码。
文档:
$浏览器#onUrlChange
它说这部分也是:
我不知道如何'使用$ location服务来监控网址更改',所以我正在收听$ locationChangeStart事件:
$rootScope.$on('$locationChangeStart', function(event, next, current) {
// Breakpoint hit here on page load only
var x = 0;
}
为什么不为我运行onUrlChange / $ locationChangeStart函数?
谢谢!