2016-08-08 10 views
0

私はAngularJSが初めてで、私のアプリケーションをLogin.htmlからHomepage.htmlにリダイレクトしたいと思っています。私は多くのことを読んでいると私はそれを行うための2つの方法を発見:最初のものは$window.location.hrefを使用することにあると、それは完全に

が二つ$location.urlまたは$location.pathを使用して構成されており、それが動作しない動作します

、私の実際のURLにちょうど/homepage.html広告。

どうすればこの問題を解決できますか? ここに私のコードです。

<!DOCTYPE html> 
<html> 
<head> 
    <title>Login</title> 
    <script src= "https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script> 
</head> 
<body> 
    <div ng-app="mainApp" ng-controller="loginController"> 
     <label>Username</label><input type="text" name="username" ng-model="username"><br> 
     <label>Password</label><input type="password" name="password" ng-model="password"><br> 
     <button ng-click="login()">Login</button> 
     <p>{{result}}</p> 
    </div> 
    <script> 
     var mainApp = angular.module("mainApp", []); 

     mainApp.controller('loginController', ['$scope', '$location', function($scope, $location){ 
      $scope.result = null; 
      $scope.login = function(){ 
       $scope.result = "Logged in"; 
       $location.path('#/localhost/homepage.html').replace(); 
       $scope.apply(); 
      } 
     }]) 
    </script> 

</body> 
</html> 

ありがとうございます。それが重要かどうかだ

$location.path('/app/homepage'); 

答えて

0

Υουを持っている必要があります。

+0

同じですが、URLは変わりますが、ページは変わりません。たぶんそれはディレクトリの問題ですか?しかし、私はworngエラーを置く場合は、 "ページが見つかりません"または何か他のエラーメッセージを出すべきではありませんか? – Wallcraft

+0

app.jsでホームページを宣言して正しくログインしていますか? – Antonis

+0

正しい宣言がある場合は、これを試してください:$ timeout(function(){ //上記のコードを追加 }、1); – Antonis

1

わからない場合は、しかし$scope.$apply()$scope.apply()を変更してみてください:

$location.path('/homepage'); 

または:

+0

URLの内容は変わりますが、ページは変わりません。 – Wallcraft

関連する問題