我想点击按钮将当前网址更改为其他网页。但问题是我需要单击按钮2次然后更改位置。
这是我的代码
function CreateUserController($scope, $location) {
$scope.submitForm = function(angObj) {
if(angObj.$valid) {
$.ajax({
url: "/users/createUserNew",
type: "POST",
processData: false,
data: $("#createUserForm").serialize(),
success: function (data) {
console.log('passed');
$location.path("/users");
},
error: function (data) {
}
});
}
}
}
为什么我需要点击按钮2次才能更改位置?
<button ng-click="submitForm(userForm)" ng-disabled="userForm.$invalid" ng-class="{'disabled' : userForm.$invalid}" class="btn btn-primary">
<span class="btn-title">Create New User</span>
</button>
答案 0 :(得分:1)
似乎视图根本没有更新。
您可以使用$ apply将调用包装到$ location.path以强制刷新。
例如:
$scope.$apply(function() { $location.path("/users"); });
有关何时使用$ apply的详细信息,请参阅this。