比如在一个控制器函数中,就像这样:
$scope.fakeChangeState = function() {
$state.go('stay right here and do nothing');
}
然后在按下按钮时调用它:
<button ng-click="fakeChangeState()">click</button>
这样的事情有可能发生吗?
有一个指令,当网站上的一些按钮被点击时,我想激活它。该指令使用"$stateChangeStart“激活。
例如,当使用导航栏导航到另一个页面时,该指令可以很好地激活。但是,有一些按钮不是导航的一部分,它们只改变视图(即,当它们被单击时,它们编辑页面上的内容而不改变状态)。
我们如何在不改变状态的情况下激活状态改变指令?
发布于 2018-06-06 01:38:21
您可以使用$stateChangeStart
事件来阻止导航到另一个状态(即默认状态)。我不确定您的指令何时触发,因此对于您的save指令来说,现在触发可能还为时过早。
$rootScope.$on('$stateChangeStart',
function(event, toState, toParams, fromState, fromParams){
event.preventDefault();
// transitionTo() promise will be rejected with
// a 'transition prevented' error
})
发布于 2018-06-06 06:22:54
只需从指令中复制代码,并将其放入当按下按钮时激活的控制器代码中,即可解决此问题。显然,我不擅长解释问题是什么,但只是复制代码就解决了问题。这使得该指令根本不需要运行。
https://stackoverflow.com/questions/50705863
复制相似问题