首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >你能在AngularJS中调用一个假的状态改变吗?

你能在AngularJS中调用一个假的状态改变吗?
EN

Stack Overflow用户
提问于 2018-06-06 01:31:27
回答 2查看 56关注 0票数 0

比如在一个控制器函数中,就像这样:

$scope.fakeChangeState = function() {
    $state.go('stay right here and do nothing');
}

然后在按下按钮时调用它:

<button ng-click="fakeChangeState()">click</button>

这样的事情有可能发生吗?

有一个指令,当网站上的一些按钮被点击时,我想激活它。该指令使用"$stateChangeStart“激活。

例如,当使用导航栏导航到另一个页面时,该指令可以很好地激活。但是,有一些按钮不是导航的一部分,它们只改变视图(即,当它们被单击时,它们编辑页面上的内容而不改变状态)。

我们如何在不改变状态的情况下激活状态改变指令?

EN

回答 2

Stack Overflow用户

发布于 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
})
票数 0
EN

Stack Overflow用户

发布于 2018-06-06 06:22:54

只需从指令中复制代码,并将其放入当按下按钮时激活的控制器代码中,即可解决此问题。显然,我不擅长解释问题是什么,但只是复制代码就解决了问题。这使得该指令根本不需要运行。

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

https://stackoverflow.com/questions/50705863

复制
相关文章

相似问题

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