首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >On url散列更改成功-在Angular指令中

On url散列更改成功-在Angular指令中
EN

Stack Overflow用户
提问于 2017-10-24 19:21:50
回答 1查看 332关注 0票数 1

我所关注的应用是使用statesui-sref进行路由(也有Kendo,但我不知道它是否会影响路由)。我在html上有5个选项卡(相同的状态-只是#tab-x#tab-1更改为#tab-5)。我将指令绑定到每个选项卡上,在指令中,我使用$location服务来确定当前的url。问题是:当我

代码语言:javascript
运行
复制
console.log($location)

它显示正确"# tab -x“,但是当我使用$location.$$url做一些处理时,它显示以前的tab值。有没有可以在这里使用的“位置更改成功”事件?我试过了:

代码语言:javascript
运行
复制
$scope.$on("locationChangeSuccess", function (event, next, current) {
});

但它并没有起作用。

EN

回答 1

Stack Overflow用户

发布于 2017-10-24 19:24:18

事件在那里,但以$sign为前缀:

代码语言:javascript
运行
复制
$scope.$on("$locationChangeSuccess", function (event, next, current) {
    console.log($location.hash());
}); 

您可以使用$location.hash()来获取该值。

工作插入器在这里:https://plnkr.co/edit/KEJft8iwbxN3VfBhikIU?p=preview

https://docs.angularjs.org/api/ng/service/$location#event-$locationChangeSuccess

这是angularjs事件。你也可以使用ui-router的$stateChangeSuccess事件,就像@Satpal在评论中提到的那样,但该事件可能不会被调用,因为状态并没有真正改变(你没有定义包含散列的状态,对吧?)。

此外,您不应该使用$$前缀属性,这些属性应该是私有的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46909250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档