2016-11-08 39 views
2

輸入字段值在輸入字段中未顯示。我同時使用ng-model & data-ng-model。不使用ng-model顯示的值。使用ng-model時不顯示AngularJS輸入字段值

即1:

<input type="text" value="{{accountDetailsBody.phoneNumber}}" data-ng-model="vm.user.phoneno" name="phoneno" id="phoneno" class="form-control"> 

即2:

<input type="email" name="email" class="form-control" id="email" ng-model="vm.user.email" readonly ng-pattern="/^[_a-z0-9]+(\.[_a-z0-9]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/" placeholder="Email" ng-maxlength="30" required> 

控制器

(function() { 
     'use strict'; 
     angular 
       .module('app') 
       .controller('accountController', accountController); 
     accountController.$inject = ['ApiService', '$rootScope', 'UserService', '$scope', '$location']; 
     function accountController(ApiService, $rootScope, UserService, $scope, $location) { 
      $scope.accountDetailsBody = {}; 
      var vm = this; 
      vm.userUpdate = userUpdate; 

      initController(); 
      function initController() { 
       loadCurrentUser(); 
      } 

      function userUpdate() { 
       console.log(vm.user); 
      } 

function loadCurrentUser() { 
      $scope.data = {'email': $rootScope.globals.currentUser.username}; 
      UserService.GetByUsername($scope.data).then(function (response) { 
       if (response.success) { 
        $scope.accountDetailsBody = response.user[0]; 
       } else { 
        $location.path('/'); 
       } 
       //vm.user = user; 
      }); 
     } 
     } 

    })(); 
+0

顯示控制器 – Sajeetharan

+0

這是我的控制器:D –

+0

是什麼樣的代碼這!!!!你確定這個控制器與這些輸入有關嗎? – Maher

回答

0

不需要在這裏設置的值。 你可以用NG-模型直接綁定值輸入文本框

嘗試用這種

控制器

(function() { 
     'use strict'; 
     angular 
       .module('app') 
       .controller('accountController', accountController); 
     accountController.$inject = ['ApiService', '$rootScope', 'UserService', '$scope', '$location']; 
     function accountController(ApiService, $rootScope, UserService, $scope, $location) { 

      var vm = this; 
      vm.accountDetailsBody = {}; 
      vm.userUpdate = userUpdate; 

      initController(); 
      function initController() { 
       loadCurrentUser(); 
      } 

      function userUpdate() { 
       console.log(vm.user); 
      } 

function loadCurrentUser() { 
      $scope.data = {'email': $rootScope.globals.currentUser.username}; 
      UserService.GetByUsername($scope.data).then(function (response) { 
       if (response.success) { 
        vm.accountDetailsBody = response.user[0]; 
       } else { 
        $location.path('/'); 
       } 
       //vm.user = user; 
      }); 
     } 
     } 

    })(); 

HTML

<input type="text" ng-model="vm.accountDetailsBody.phoneNumber" name="phoneno" id="phoneno" class="form-control"> 
+0

感謝兄弟它的工作 –

+0

如果它的工作,那麼你可以檢查正確和upvote這個答案。 –

0

您應該使用value="accountDetailsBody.phoneNumber"而不是value="{{accountDetailsBody.phoneNumber}}"

由於{{binding}}是一種方式綁定..和ng-mode="binding"是雙向綁定。

+0

仍然相同的錯誤 –

+0

清楚地解釋你的問題,你需要什麼 – jeeva

0

不要在html標籤上使用value屬性,你可以將ng-model值equels賦值給controller中的值。

<input type="text" data-ng-model="vm.user.phoneno" name="phoneno" id="phoneno" class="form-control"> 

在控制器:

this.user.phoneno=accountDetailsBody.phoneNumber 
+0

請問你可以請電話如何定義控制器中的用戶? –

+0

初始化this.user = {} – Ash