这是最奇怪的事情,我发现代码完全符合我的要求:使用ui-router更改显示的URL而不重新加载页面。就是这样:
$state.transitionTo($state.current, args, { location: true, inherit: false, notify: false});
问题是,它只在第一次有效。在第二次调用该行之后,angular进入apply / digest循环&我的分页。控制台中显示的错误是:
TypeError: Cannot read property '$$nextSibling' of null
at Scope.$digest (angular.js:12569)
at Scope.$apply (angular.js:12805)
at HTMLDivElement.<anonymous> (angular.js:19138)
at HTMLDivElement.jQuery.event.dispatch (jquery.js:4641)
at HTMLDivElement.elemData.handle (jquery.js:4309)
答案 0 :(得分:1)
transitionTo()函数的第一个参数应该是一个String(一个州名),但是你传递一个Object(当前的状态对象)。
您应该通过$state.current
:
$state.current.name
$state.transitionTo($state.current.name, args, { location: true, inherit: false, notify: false});
如果不查看UI-Router代码,我不能说这是否解释了您收到的错误。