Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript angularjs使用另一个ng模型的值设置ng模型的默认值_Javascript_Angularjs_Angularjs Ng Model_Angularjs Ng Init - Fatal编程技术网

Javascript angularjs使用另一个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

我想将用户在另一个表单字段select options中设置的ng模型的值传递给另一个ng模型,作为同一表单中的初始值。
在本例中,我希望
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}