- 我正在尝试使用存储在 json 文件中的元数据在屏幕上显示 html 控件。
- 此外,我正在尝试创建一个状态,在该状态下,按下复选框将使下拉菜单被禁用。
- 我设法为带有静态选项的选择框和带有动态选项的选择框(使用 ng-options)实现了这一点。
- 用ng-repeat包装它时我无法做到这一点。
我花了很多时间来完成这项工作,但效果不佳。
如果有人能指出我正确的方向,我将不胜感激。
我创建了一个示例代码,可以在此处的Plunker中找到
我花了很多时间来完成这项工作,但效果不佳。
如果有人能指出我正确的方向,我将不胜感激。
我创建了一个示例代码,可以在此处的Plunker中找到
来自ngRepeat文档:
ngRepeat 指令为集合中的每个项目实例化一次模板。每个模板实例都有自己的范围
诀窍是添加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>
来自http://docs.angularjs.org/api/ng.directive:ngRepeat:
该ngRepeat
指令为集合中的每个项目实例化一次模板。每个模板实例都有自己的范围。
所以看起来你应该使用$parent
范围:$parent.controlChecked
。