2013-02-14 65 views
0

这里是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"> 

我的HTML代码,这里是构造函数代码

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

您不能使用angular.copy,因为它将在第二次使用时覆盖$ scope.myModel(当复制init时)。使用angular.extend代替,到ini和初始的所有属性复制到你的模型:

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 = {},初始时,init)。保存一行;) – matys84pl 2013-02-14 07:50:08