2013-02-14 1 views
0

Вот мой HTML код angularjs приложенияНевозможно установить текст по умолчанию поле значения

<input type="text" class="input-xlarge" id="user_name" ng-model="myModel.text1" 
    name="user_name" rel="popover" data-content="Enter your first and last name." 
    data-original-title="Full Name"> 

А вот код конструктор

function MyCtrl2($scope) { 
     var initial = {text1: 'initial value'}; 
     var ini = {text2: 'initialvalue'}; 
     $scope.myModel = angular.copy(initial); 
     $scope.myModel = angular.copy(ini); 
} 

MyCtrl2.$inject = ['$scope']; 

значение по умолчанию только в одном текстовом поле usr_email заселяется. Но не в user_name Может ли кто-нибудь указать, что может быть неправильным.

ответ

0

Вы не можете использовать , поскольку он будет переопределять $ scope.myModel при использовании во второй раз (при копировании init). Используйте angular.extend вместо того, чтобы скопировать все свойства ини и начальные к вашей модели:

function MyCtrl2($scope) { 
    var initial = {text1: 'initial value'}; 
    var ini = {text2: 'initialvalue'}; 
    $scope.myModel = {}; 
    angular.extend($scope.myModel, initial, ini); 
} 
+0

Чуть более короткая версия будет angular.extend ($ scope.myModel = {}, начальные, инициализация). Сохраняет одну строку;) – matys84pl