如果我在ng-switch中放置一个选择标签,那么双向绑定不适用于ng-switch外部的选择标签ng-model。
请参考以下代码
<div ng-switch on="OutputStep">
<div ng-switch-when="0">
Switch Step One
</div>
<div ng-switch-when="1">
Switch Step Two<br/>
<select ng-model="SelectedReviewOption" ng-options="review as review.DisplayValue for review in ReviewOptions">
</select>
Selected Value : {{SelectedReviewOption.DisplayValue}}
</div>
</div>
<button ng-click="OutputStep = '0'" ng-disabled="OutputStep == '0'">
Back
</button>
<button ng-click="OutputStep = '1'" ng-disabled="OutputStep == '1'">
Next
</button>
Selected Value Outside Switch : {{SelectedReviewOption.DisplayValue}}
在此小提琴中,单击"下一步"按钮以查看第二个开关页面。更改选择标记中的值。观察更改的值无法在开关外部显示 –
在你的模型中有一个'.将确保原型遗传发挥作用。所以,使用
<input type="text" ng-model="someObj.prop1"> rather than
<input type="text" ng-model="prop1">
工作小提琴
了解范围
在
ng模型中使用$parent.var_name,因为ng switch会创建它单独的作用域,如果它没有被ng-init或其他东西显式定义,则该变量将被限制为它(在控制器中(
现在就在这里。您需要使用 $parent 才能到达交换机块之外的父范围
$parent.SelectedReviewOption
http://jsfiddle.net/cobc0u3p/6/