一尘不染

angularjs-ng-switch不绑定ng-model

angularjs

我有这个reprohttp://embed.plnkr.co/nVCmukG5abpi1Y4ZHkrq,当我单击“
Title3”并在文本框中输入一个值时显示,尽管输入的值显示在UI中,当我单击“单击”按钮时,什么也没有绑定到范围属性$ scope.test。

我不知道ng-switch有什么问题,或者我做错了什么。帮助表示赞赏!!!

http://embed.plnkr.co/nVCmukG5abpi1Y4ZHkrq


阅读 234

收藏
2020-07-04

共1个答案

一尘不染

由于ng-switch创建了自己的作用域,因此这是一个作用域继承问题。

经常提出的一项建议是始终使用doton模型。原因是,当控制器作用域项是一个对象而不是基元时,子作用域将创建对初始对象的引用。如果模型是原始类型,则不会更新原始模型。

例如:

<input ng-model="test.value" placeholder="pre" type="text" />



$scope.test={value:''}

另一种方法是$parent在html模型标记中使用:

<input ng-model="$parent.test" placeholder="pre" type="text" />

使用该dot方法是避免这些问题的一种好习惯,因为您无需考虑更深层的嵌套作用域。

test.value作为模型的演示:http
:
//plnkr.co/edit/CkiF55bLXsYzR6ZjcrJp?p=preview

有关dot模型中的参考(有价值的读物):https : //github.com/angular/angular.js/wiki/Understanding-Scopes

2020-07-04