2017-06-02 34 views
1

我想從一個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."); 
    } 
};}); 

什麼是錯的代碼?

+0

使用'window'而不是'$ window' – user688

回答

4

$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."); 
    } 
};}); 

只需更換此代碼即可。希望這會幫助你。

+0

謝謝。它現在正在工作。 – sanjeewa

+0

哇!爲什麼Narendra在官方文檔中的解決方案? – 2017-12-07 09:48:33

1

,您應該使用的window代替$window,需要

window.alert("User name or password wrong. please enter correct username or password."); 
+0

從AngularJS文檔:「在AngularJS中我們總是通過$ window服務引用它,所以它可能會被覆蓋,刪除或模擬以進行測試。」 https://docs.angularjs.org/api/ng/service/$window – Olezt

1

注入$window

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

僅警告(「用戶名或密碼錯誤,請輸入正確的用戶名或密碼」)就足夠了。

無需窗口或$窗口。