ユーザーがフォーム検証(ユーザー名とパスワードをデータベース値と照合する)に合格した場合、ユーザーをリダイレクトしようとしています。
検証は正常に機能しますが、私の.Success関数ではリダイレクトは機能していないようで、「ReferenceError:$ window is 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');
}
});
ロケーションパスを変更しようとしましたが、何も機能していないようです。何か案は?
ありがとう!
怠zyなトトロ
$window
を注入する必要があります。
注入するには、それをパラメーターとしてコントローラー関数に追加するだけで、Angularが残りを自動的に処理します。
例えば:
app.controller('MyController', function MyController($scope, $window) {
$window.location = 'http://stackoverflow.com'
});
AngularJS here で依存性注入について詳しく読むことができます。
ページ全体をリロードする必要がない場合は、代わりに $ location を挿入して使用する必要があります。
// get the current path
$location.path();
// change the path
$location.path('/newValue');