angularjs - ng-switch 不绑定 ng-model

2023-12-27

我有这个复制品http://embed.plnkr.co/nVCmukG5abpi1Y4ZHkrq http://embed.plnkr.co/nVCmukG5abpi1Y4ZHkrq当我单击“Title3”并在文本框中输入值时显示,尽管输入的值显示在 UI 中,但当我单击“单击”按钮时,范围属性 $scope.test 没有任何绑定。

我不知道 ng-switch 有什么问题,或者也许我做错了什么。感谢帮助!

http://embed.plnkr.co/nVCmukG5abpi1Y4ZHkrq http://embed.plnkr.co/nVCmukG5abpi1Y4ZHkrq


这是一个范围继承问题,因为ng-switch创建自己的范围。

经常提出的一项建议是始终使用dot在模型上。原因是,当控制器范围项是对象而不是基元时,子范围将创建对初始对象的引用。如果模型是原始模型,它将不会更新原始模型。

例如:

<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 http://plnkr.co/edit/CkiF55bLXsYzR6ZjcrJp?p=preview

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

angularjs - ng-switch 不绑定 ng-model 的相关文章

随机推荐