$window.alert 在 angular 函数中无法工作

4

我想从一个AngularJS函数中弹出警告消息,但是它不起作用。

脚本

app.controller("APIController", function ($scope, $http) {
$scope.saveSubs = function () {
    var sub = {
        UserName: $scope.username,
        Password: $scope.password
    };
    if ($scope.username === 'admin' && $scope.password === 'admin') {
        window.location.href = '/Home/HotelSearchRedirect';
    } else {
        $window.alert("User name or password wrong. please enter correct username or password.");
    }
};});

这段代码有什么问题?

请使用 window 替代 $window - user688
4个回答

5

$window需要被注入。

app.controller("APIController", function ($scope, $http,$window) {
$scope.saveSubs = function () {
    var sub = {
        UserName: $scope.username,
        Password: $scope.password
    };
    if ($scope.username === 'admin' && $scope.password === 'admin') {
        window.location.href = '/Home/HotelSearchRedirect';
    } else {
        $window.alert("User name or password wrong. please enter correct username or password.");
    }
};});

只需要替换这段代码。


4

只需使用 alert("用户名或密码错误,请输入正确的用户名或密码。")。

不需要使用 window 或 $window。


2
你应该使用 window 而不是 $window
  window.alert("User name or password wrong. please enter correct username or password.");

从AngularJS文档中得知:"在AngularJS中,我们总是通过$window服务来引用它,因此可以被覆盖、删除或模拟进行测试。" https://docs.angularjs.org/api/ng/service/$window - Olezt

1

注入$window

app.controller("APIController", function ($window, $scope, $http) { 
   // Code
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接