Javascript Angular UI Router state.go和锚定标记
以下内容:Javascript Angular UI Router state.go和锚定标记,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,以下内容: <p ng-click="$state.go('state.a',{id: 'subsection-b'})">Click me</p> 单击我 (单击时)仅导航到“我的状态”的顶部。一个页面,而不是向下滚动到 … 元素 为什么会这样?我需要修改什么才能使锚定标记与state.go一起工作?(顺便说一句,我知道如何用ui sref解决它,但我需要它来处理state.go)在$state.go('state.a',{id:'subsection-b'})中的
<p ng-click="$state.go('state.a',{id: 'subsection-b'})">Click me</p>
单击我
(单击时)仅导航到“我的状态”的顶部。一个页面,而不是向下滚动到
…
元素
为什么会这样?我需要修改什么才能使锚定标记与state.go一起工作?(顺便说一句,我知道如何用
ui sref
解决它,但我需要它来处理state.go)在$state.go('state.a',{id:'subsection-b'})中的id
是一个状态参数!它不是一个html id属性
为此,应使用状态url:
<a href="[state_url] + #subsection-b"><p>Click me</p></a>
该[state-\u url]是您在其定义中为state设置的url。对于需要ui sref语法的任何人:
ui-sref="page({name: 'name', '#': 'frag'})"
另外,正如Andrew Tobilko正确指出的,$state.go函数的语法使用散列(#)而不是“id”:
$state.go('page', {name: 'name', '#': 'frag'})
注意:这需要ui路由器v0.2.14或更高版本
来源:谢谢对状态参数的解释,但我仍然不明白$state.go('X')中的X应该是什么才能使它工作。你不能在带有$state.go()
@Mahmoud,$state.go(制表符,{'.':anchor})的页面中链接到特定的id。安德鲁更愿意这样做,然后指定url