Javascript angularjs使用另一个ng模型的值设置ng模型的默认值
我想将用户在另一个表单字段select options中设置的ng模型的值传递给另一个ng模型,作为同一表单中的初始值。Javascript angularjs使用另一个ng模型的值设置ng模型的默认值,javascript,angularjs,angularjs-ng-model,angularjs-ng-init,Javascript,Angularjs,Angularjs Ng Model,Angularjs Ng Init,我想将用户在另一个表单字段select options中设置的ng模型的值传递给另一个ng模型,作为同一表单中的初始值。 在本例中,我希望myModel.fieldB的ng init值是myModel.fieldA.subfield,这是在span元素的值中成功计算的,但在myModel.fieldB的ng模型中不是,这意味着ng init=“myModel.fieldB=myModel.fieldA.subfield>中没有发生任何事情 但是,当我传递字符串文字值时,它会起作用,例如ng i
在本例中,我希望
myModel.fieldB
的ng init值是myModel.fieldA.subfield
,这是在span元素的值中成功计算的,但在myModel.fieldB
的ng模型中不是,这意味着ng init=“myModel.fieldB=myModel.fieldA.subfield>中没有发生任何事情
但是,当我传递字符串文字值时,它会起作用,例如
ng init=“myModel.fieldB='some example'
{{myModel.fieldA.subfield}
为什么不直接使用ng change
指令选择输入
,并将myModel.fieldA.子字段
的值分配给myModel.fieldB
就这样,
ng-change="assignValue(myModel.fieldA.subfield)"
然后:
这里有一个有效的为什么不简单地使用
ng change
指令来选择输入
,并将myModel.fieldA.子字段
的值分配给myModel.fieldB
就这样,
ng-change="assignValue(myModel.fieldA.subfield)"
然后:
这是一个有效的,因为当你传递文本值时,它是常量,不会改变,但是当你传递变量值时,像这样
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>
选择1
选择1
{{myModel.fieldA.subfield}
这是因为当你传递文本值时,它是常量,不会改变,但是当你传递变量值时,像这样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>
选择1
选择1
{{myModel.fieldA.subfield}