【发布时间】:2018-06-05 17:31:26
【问题描述】:
在控制器函数中说,像这样:
$scope.fakeChangeState = function() {
$state.go('stay right here and do nothing');
}
然后在按下按钮时调用它:
<button ng-click="fakeChangeState()">click</button>
这样的事情可能吗?
当点击网站上的某些按钮时,我想激活一个指令。该指令使用“$stateChangeStart”激活。
当使用导航栏导航到另一个页面时,该指令可以正常激活。但是,有些按钮不是导航的一部分,它们只会改变视图(即它们在点击时编辑页面上的内容而不改变状态)。
我们如何在不改变状态的情况下激活状态改变指令?
【问题讨论】:
-
我假设您使用的是 Angular UI 路由器?什么版本?
-
使用 0.2.13 @Amy
-
我应该让它们链接到一条路线吗?这是最好的选择吗?
-
只是为了弄清楚。你有一个指令监视 $stateChangeStart。现在您想单击一下以避免状态更改?点击后会发生什么?也许还有其他解决方案?
-
@Michael 所以想象页面有一个导航栏,所有这些链接都会改变状态,这没有问题。然后在页面内部,有一些按钮只是更改视图,即在页面上添加/更改信息。我们如何做到让按下这些按钮(不改变状态),在不导航到不同页面的情况下改变状态?
标签: javascript angularjs angularjs-directive