考虑这个应用程序(http://jsfiddle.net/rQ9Za/):
<div ng-app>
<input type="radio" name="data" ng-model="data.type" value="1"> Type 1<br>
<input type="radio" name="data" ng-model="data.type" value="2"> Type 2<br>
<input type="radio" name="data" ng-model="data" ng-value="null"> None<br>
<div ng-show="data">
<input type="text" ng-model="data.nested1" />
<input type="text" ng-model="data.nested2" />
</div>
<pre>{{ data }}</pre>
</div>
该应用程序处理data
模型。特别是,它要么将其无效,要么仅操作本机 js 对象的嵌套属性。当模型的type
属性被设置时,它会显示另外 2 个兄弟值(nested1
和nested2
) 用于操作。当您使模型本身无效时会出现问题 - 在这种情况下,嵌套值也会无效。我需要保护它们。在我看来,这不是错误或任何东西,它只是它的工作方式。
任何关于如何保留无效值的想法将不胜感激。
有趣的是,如果我只有 2 个ng-model="data"
使用 ng 值指向模型本身的单选选项,{}
并且null
——它会开箱即用。这是演示预期行为的小提琴:http: //jsfiddle.net/v3bgs/