javascript - Angular UI Router state.go 和 anchor 标签

标签 javascript angularjs angular-ui-router

以下元素:

<p ng-click="$state.go('state.a',{id: 'subsection-b'})">Click me</p>

是(单击时)仅导航到我的 state.a 页面的顶部,而不是向下滚动到

<p id="subsection-b">...</p>

该页面上的元素。

这是为什么?我需要修改什么才能让 anchor 标签与 state.go 一起工作? (顺便说一句,我知道如何用 ui-sref 解决它,但我需要它与 state.go 一起工作)

最佳答案

对于任何需要 ui-sref 语法的人:

ui-sref="page({name: 'name', '#': 'frag'})"

此外,正如 Andrew Tobilko 正确指出的那样,$state.go 函数的语法使用哈希 (#) 而不是“id”:

$state.go('page', {name: 'name', '#': 'frag'})

注意:这需要 ui-router v0.2.14 或更高版本。

来源:https://github.com/angular-ui/ui-router/pull/1867

关于javascript - Angular UI Router state.go 和 anchor 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35594792/

相关文章:

javascript - 使用 jQuery 在 Jinja2 循环内提供 onclick 事件

javascript - 节点集上的递归回调

angularjs - 使用 NGINX 在 Ubuntu 云服务器上托管 NodeJS(Express 和 Angular)项目

angularjs - 在 angularjs 模板中单独添加按钮功能

javascript - 嵌套子状态中的 Angular ui 路由和多个 View

javascript - Angular 2+ 中的 Angular 粘性状态

javascript - 意外的标识符错误

javascript - 使用 Ruby on Rails 检查选择文件时的文件扩展名 'file_field' 并显示错误消息(如果有)

javascript - 如何在 Angular JS 的特定范围之外访问我的数据?

javascript - 带有标签的 ui-router url 参数