簡體   English   中英

angularjs使用來自另一個ng-model的值設置默認值ng-model

[英]angularjs set default value ng-model using value from another ng-model

我想將用戶在另一個表單字段中設置的ng-model的值傳遞給另一個ng-model,將其作為相同表單的初始值。
在此示例中,我希望myModel.fieldB的ng-init值為myModel.fieldA.subfield ,這是在span元素的值中成功評估的,但在myModel.fieldB的ng-model中未成功評估,這意味着ng-init="myModel.fieldB = myModel.fieldA.subfield"中沒有任何ng-init="myModel.fieldB = myModel.fieldA.subfield"
但是,當我傳遞字符串文字值時,它可以工作,例如ng-init="myModel.fieldB = 'some example'"

<span class="form-group" ng-model="myModel.fieldB" ng-init="myModel.fieldB = myModel.fieldA.subfield">{{myModel.fieldA.subfield}</span>

為什么不簡單地將ng-change指令用於選擇input並將myModel.fieldA.subfield的值分配給myModel.fieldB呢?

像這樣:

ng-change="assignValue(myModel.fieldA.subfield)"

然后:

$scope.assignValue = function(val) {
    if (val) {
      $scope.myModel.fieldB = val;
    }
  }

這是一個工作的家伙

這是因為當您傳遞文字值時,它是常量並且不會改變,但是當您傳遞變量值時,例如ng-init="myModel.fieldB = myModel.fieldA.subfield" (myModel.fieldB),它將被設置一次在此元素具有任何內部值(myModel.fieldA.subfield) 的創建時 ,因此要克服此問題,可以對select元素使用ng-change,如下所示:

<select data-ng-model="myModel.fieldB" ng-change="myModel.fieldA.subfield = myModel.fieldB">
   <option value="option1">option1</option>
   <option value="option1">option1</option>
</select>
<span class="form-group">{{myModel.fieldA.subfield}}</span>

暫無
暫無

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

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