我有这个reprohttp://embed.plnkr.co/nVCmukG5abpi1Y4ZHkrq,当我单击“ Title3”并在文本框中输入一个值时显示,尽管输入的值显示在UI中,当我单击“单击”按钮时,什么也没有绑定到范围属性$ scope.test。
我不知道ng-switch有什么问题,或者我做错了什么。帮助表示赞赏!!!
http://embed.plnkr.co/nVCmukG5abpi1Y4ZHkrq
由于ng-switch创建了自己的作用域,因此这是一个作用域继承问题。
ng-switch
经常提出的一项建议是始终使用doton模型。原因是,当控制器作用域项是一个对象而不是基元时,子作用域将创建对初始对象的引用。如果模型是原始类型,则不会更新原始模型。
dot
例如:
<input ng-model="test.value" placeholder="pre" type="text" /> $scope.test={value:''}
另一种方法是$parent在html模型标记中使用:
$parent
<input ng-model="$parent.test" placeholder="pre" type="text" />
使用该dot方法是避免这些问题的一种好习惯,因为您无需考虑更深层的嵌套作用域。
test.value作为模型的演示:http : //plnkr.co/edit/CkiF55bLXsYzR6ZjcrJp?p=preview
test.value
有关dot模型中的参考(有价值的读物):https : //github.com/angular/angular.js/wiki/Understanding-Scopes