簡體   English   中英

AngularJS在index.html中的雙向綁定

[英]Angularjs two-way binding in index.html

我是Angularjs的新手。 我正在嘗試用登錄頁面構建一個簡單的系統,成功登錄后它將重定向到另一個頁面。

我正在嘗試使用ng-view顯示index.html中的所有頁面(包括登錄頁面)。 我嘗試使用ng-if決定何時在頁面頂部顯示導航欄。

登錄后vm.page的值不會更改

index.html

<html ng-app="myApp">
<head>
    <title></title>
    <link href="css/bootstrap.min.css" rel="stylesheet"/>
    <link href="css/custom.css" rel="stylesheet"/>

    <script src="jquery/jquery-3.3.1.min.js"></script>
    <script src="node_module/angular/angular.js"></script>
    <script src="node_module/angular-route/angular-route.js"></script>
    <script src="app.js"></script>
    <script src="controllers/login-controller.js"></script>
</head>
<body>
    <div ng-controller="LoginController as lg" >
        <div ng-if="lg.page != 'Login'" ng-include="'view/navigation-top.html'"></div>
    </div>

    <div ng-view></div>

</body>

login-controller.js

angular.module('myApp').controller("LoginController", LoginController);

function LoginController($http, $location, $scope) {
    var vm = this;
    vm.page = "Login";

    vm.login = function(){
        vm.page = "Main";
        $location.path('/')
    }
}

當啟動vm.page並將其設置為“ Login”時,它正在工作,但是當我將其設置為“ Main”時,頁面不會更改。

不勝感激是否有人可以幫助我,謝謝:D

問題是您的登錄功能中的$ location.path('/')調用。 這將導航到/index.html並重新初始化LoginController。 因此,vm.page變量將重置為“登錄”。

刪除location.path()或創建一個包含頁面/登錄狀態的服務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM