我花了很多时间做这项工作,但是在风向标中。
如果有人能指出我正确的方向,我将不胜感激。
我创建了一个示例代码,可以在 Plunker here
中找到答案 0 :(得分:1)
来自ngRepeat doc:
ngRepeat指令从a中为每个项目实例化一次模板 采集。每个模板实例都有自己的范围
诀窍是将controlChecked
添加到form
并删除ng-init
。所以他们将在同一范围内。
<div ng-show="control.type == 'Checkbox'">
<input type="checkbox" ng-model="form.controlChecked" name="{{control.id}}"/>
</div>
<div ng-show="control.type == 'DropdownList'">
<select ng-model="control.id"
ng-disabled="!form.controlChecked"
ng-options="value.code as value.name for value in control.items"
name="{{control.id}}"
>
</select>
的 Demo 强>
答案 1 :(得分:0)
来自http://docs.angularjs.org/api/ng.directive:ngRepeat:
ngRepeat
指令从集合中为每个项目实例化一次模板。每个模板实例都有自己的范围。
所以看起来您应该使用$parent
范围:$parent.controlChecked
。