0

在這裏,我試圖與用戶credientials到登錄 如果用戶是有效的,我想通過用戶名,LastloginTime,角色值使用另一頁角JS如何使用角度js將數據一頁傳遞到另一頁?

<form role="form" ng-app="MyApp" ng-controller="MasterController"> 
     <div class="form-group"> 
      <label> 
       Username</label> 

      <input type="text" class="form-control" placeholder="Username" required ng-model="username" /> 
     </div> 
     <div class="form-group"> 
      <label> 
       Password</label> 
      <input type="password" class="form-control" placeholder="Password" required ng-model="password" /> 
     </div> 
     <div class="checkbox"> 
      <label> 
       <input type="checkbox" ng-model="remember"> 
       Remember my Password 
      </label> 
     </div> 
     <input type="button" value="Submit" ng-click="GetData()" class="btn btn-danger" /> 
     <%--<button type="button" class="btn btn-danger" ng-click="GetData()">Submit</button>--%> 
     <span ng-bind="Message"></span> 
    </form> 

JS文件這裏

$scope.GetData = function() { 
     debugger; 
     var data = { UserName: $scope.username, Password: $scope.password }; 
     $http.post("api/Test/CheckUsername", data) 
     .success(function (data, status, headers, config) { 
      if (data != "") { 
       $scope.Employees = data; 
       window.location.href = "EmployeeMaster"; 
       //$scope.Reporting = data; 
      } 
      else { 
       alert("Invalid Credientials"); 
      } 

     }); 
    } 

我想在主頁面中顯示值

     <table class="table"> 
          <tr ng-repeat="Emp in Employees"> 
           <th>User </th> 
           <td>:</td> 
           <td>{{Emp.username}}</td> 
          </tr> 
          <tr> 
           <th>Designation </th> 
           <td>:</td> 
           <td>{{Emp.RoleName}}</td> 
          </tr> 
          <tr> 
           <th>Last Login </th> 
           <td>:</td> 
           <td>{{Emp.LastLogin}}</td> 
          </tr> 
         </table> 

如何將值登錄頁面傳遞給主頁?

+0

你能提供樣品plunkr嗎? – Grundy

+0

您可以根據您的需求使用'sessionStorage'或'localStorage'。請參閱[本](http://www.w3.org/TR/webstorage/)或'ngStorage' – Rayon

+0

您使用的是哪種導航機制? –

回答

2

我建議創建一個服務來存儲您的全局數據:

myApp.factory('DataService', function() { 
    var user = { 
     name: '', 
     role: '' 
     // and so on 
    }; 

    return { 
     user: user 
    }; 
}); 

只是注入這對所有的控制器,並設置和檢索你需要的數據:

myApp.controller('MyCtrl', function($scope, DataService) { 
    // make your DataService available in your scope 
    $scope.DataService = DataService; 
}); 

這可以讓你將型號綁定到DataService

+0

您建議_service_但創建_factory_ :-) – Grundy

+0

服務是工廠:https://docs.angularjs.org/guide/services – DonJuwe

0

檢查角存儲A存儲完成正確的AngularJS。存儲用戶信息/標記/任何對象都很棒。

主要特點

用途的localStorage或sessionStorage的默認,但如果它不是,它採用ngCookies。 允許您保存JS對象 如果您保存一個數字,您將得到一個數字,而不是一個字符串 使用緩存系統,以便如果您已經有一個值,它將不會再從商店中獲取它。

https://github.com/auth0/angular-storage

0

有很多的方式就像您使用$的範圍,想

$rootscope.userName = "" 

注入$ rootscope依賴於控制器,你實現這個

1)使用$ rootscope想要顯示它並創建一個對象名Employee,並用$ rootcope填充它。

2)使用常量像

module.constant("userData", data); 

注入在要顯示它並創建一個對象名員工,並與用戶數據填充它的控制器的用戶數據的依賴。在路由文件 :

3)可以使用的服務/工廠和保存的localStorage/sessionStorage的數據

0

在頁面之間傳輸數據,可以使用stateParams

$stateProvider 
    .state('employeeMasterState', { 
    url: '/employeeMasterUrl/:employeeData', 
    templateUrl: 'info/employeeMaster.tpl.html', 
    controller: 'employeeMasterCtrl', 
    controllerAs: 'employeeMasterCtrlAs' 
    }); 

JS:

$scope.GetData = function() { 
    debugger; 
    var data = { UserName: $scope.username, Password: $scope.password }; 
    $http.post("api/Test/CheckUsername", data) 
    .success(function (data, status, headers, config) { 
     if (data != "") { 
      this.state.go('employeeMasterState',{employeeData:data}); 

     } 
     else { 
      alert("Invalid Credientials"); 
     } 

    }); 
} 
在接下來的頁面JS

constructor($scope, $statePArams){ 
    $scope.empData = $stateParams.data; 
} 
相關問題