このアプリを検討してください ( 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 オブジェクトのネストされたプロパティのみを操作します。モデルのプロパティが設定されると、操作のために別の 2 つの兄弟値 (および)type
が明らかになります。モデル自体を無効化すると問題が発生します。この場合、ネストされた値も無効化されます。私はそれらを保存する必要があります。私が見たところ、これはバグでも何でもなく、ただの仕組みです。nested1
nested2
無効化を超えて値を保持する方法についてのアイデアは大歓迎です。
興味深いことに、モデル自体ng-model="data"
に ng 値{}
を指定するラジオ オプションが 2 つしかない場合、null
それはそのまま使用できます。期待される動作を示すフィドルは次のとおりです: http://jsfiddle.net/v3bgs/