我正在使用AngularJS ui-router转到不同的页面。我有一个提交表单的按钮,但我也希望它在提交时将我带到另一个页面。所以我试着做这样的事情:
方法1,按钮
<button href="#anotherPage" type = "submit" ng-click = "someFunction()" class = "btn btn-default">Go to another page</button>
通常情况下,这是通过链接完成的,所以我也试过了:
方法2,链接
<a href="#anotherPage" type = "submit" ng-click = "someFunction()" href="#results" class = "btn btn-default">Go to another page</a>
方法1不起作用,因为href不能用于按钮,方法2将我带到另一页但不提交。最干净的方法是什么?
答案 0 :(得分:3)
您可以在控制器中定义的点击方法中使用$state.go()
。
喜欢 -
按钮代码 -
<button ng-click="someFunction()" class="btn btn-default">Go to another page</button>
控制器中的方法 -
$scope.someFunction = function() {
// Process the data
$state.go('newsstate',{id: id});
};
不要忘记注入$state
。
作为建议 - 无论何时使用ui-router
,请尝试使用ui-sref
代替简单href
。