Angularjs 动态表单生成,高级行为

Angularjs 动态表单生成,高级行为,angularjs,json,angularjs-ng-repeat,ng-repeat,Angularjs,Json,Angularjs Ng Repeat,Ng Repeat,我正在构建一个输入表单生成系统。我的代码的简化版本如下所示: <div ng-repeat="ele in form.Fields"> <label for="{{ele.InputId}}"> {{ele.Label}} </label> <span ng-if="ele.Type === 'TextBox'"> <input type="text" id="{{ele.InputId

我正在构建一个输入表单生成系统。我的代码的简化版本如下所示:

<div ng-repeat="ele in form.Fields">
    <label for="{{ele.InputId}}">
        {{ele.Label}}
    </label>
    <span ng-if="ele.Type === 'TextBox'">
        <input type="text" id="{{ele.InputId}}" ng-model="ele.Value" />
    </span>
    <span ng-if="ele.Type === 'DropDownList'">
        <select id="{{ele.InputId}}" 
                ng-options="opt.Name as opt.Value for opt in ele.AvailableValues" 
                ng-model="ele.Value">
        </select>
    </span>
</div>

{{ele.Label}
问题是:

我试图添加一个功能,如果某个字段包含特定的值,其他字段会做出反应。例如,如果特定字段的select包含“Yes”,我希望特定字段成为必填字段。另一个例子是,我将有一个带有几个选项的select,根据选择的选项,特定字段将变为可见,而其他字段将变为隐藏

“我的表单.字段”是在服务器端生成的,它包含表单的所有字段输入,并且表单生成正确。每个field对象都包含足够的信息来确定我的反应条件,但我一直在试图找出如何使angular对我所需的条件和规则作出反应


我应该向输入动态添加ng-changed()属性吗?我将如何动态地添加它们?或者最好设置动态$watch/$observe(如果可能的话)?如果我能正确触发,修改字段数组以显示/隐藏/生成所需内容将是轻而易举的事

您可以使用ng click函数设置与表单字段所需属性关联的范围值