AngularJS ReferenceError:未定义$ window

20 javascript validation redirect window angularjs

如果他们通过我的表单验证(根据数据库值检查用户名和密码),我试图重新指导我的用户.

验证工作正常,但在我的.Success函数中,重定向似乎不起作用,它产生错误:'ReferenceError:$ window not defined'.

这是代码:

.success(function(data) {
    console.log(data);

        if (!data.success) {
            // if not successful, bind errors to error variables
            $scope.errorUserName = data.errors.userName;
            $scope.errorUserPassword = data.errors.userPassword;
        } else {
            // if successful, bind success message to message
            $scope.message = data.message;
            $window.location=('twitter.com');       
    }
});
Run Code Online (Sandbox Code Playgroud)

我试过改变位置路径,但似乎没有任何工作.有任何想法吗?

谢谢!

LazyTotoro

tas*_*ATT 46

$window 需要注射.

要注入它,只需将其作为参数添加到控制器功能中,Angular将自动处理其余部分.

例如:

app.controller('MyController', function MyController($scope, $window) {

    $window.location = 'http://stackoverflow.com'
});
Run Code Online (Sandbox Code Playgroud)

您可以在此处阅读有关AngularJS中依赖项注入的更多信息.

如果您不需要重新加载整页,则应该注入并使用$ location:

// get the current path
$location.path();

// change the path
$location.path('/newValue');
Run Code Online (Sandbox Code Playgroud)