Angularjs 当字段值更改时,设置其他字段的值

Angularjs 当字段值更改时,设置其他字段的值,angularjs,angular-schema-form,Angularjs,Angular Schema Form,我使用的是Angular Schema表单,我想在字段值更改时将模型属性设置为null。我曾尝试在表单定义中使用onChange,如下所示 { key: '7_11', type: 'radios', titleMap: [{value: 'no', name: 'No'}, {value: 'yes', name: 'Yes'}], onChange: function(modelValue,form) { if (!modelValue) { // mo

我使用的是Angular Schema表单,我想在字段值更改时将模型属性设置为null。我曾尝试在表单定义中使用
onChange
,如下所示

{
  key: '7_11',
  type: 'radios',
  titleMap: [{value: 'no', name: 'No'}, {value: 'yes', name: 'Yes'}],

  onChange: function(modelValue,form) {
    if (!modelValue) {
      // model['8_1'] = null
    }
  }
}
请注意,我试图设置的模型属性绑定到与已更改的字段不同的字段

我不能按照注释指示的方式执行,因为
model
不在
onChange
侦听器的范围内

更新 第二个例子是。假设我们想清除2个复选框(通过从模型中删除相应的属性),无论何时在名称字段中输入一些文本,这是如何实现的

我还应该指出,出于我不想让您感到厌烦的原因,我不能使用条件和
销毁策略来实现这一点。好吧,在同一个控制器的范围内设置模型和表单并不少见(因为这是很自然的)。
如果是这种情况,您可以通过
$scope.model.X=modelValue
设置X

或者,您可能处于无法达到模型范围的位置,在这种情况下,模型更复杂。另一方面,我建议在同一个地方做这一切

(有时这是不可能的。例如,我的应用程序中有动态表单和模式,但在这些情况下,我使用通用功能,如或中的筛选功能,并避免使用onChange硬编码UI)

例如,如果在plunkr中更改了foo,则会设置foo2:

onChange: function(modelValue,form) {
    if (modelValue) {
        $scope.model.foo2 = ["Yes"];
    }
},

我不太明白。如果您有时间,可以看一下Plunker演示,并解释如何解决我在更新中提到的特定问题吗?好的,我现在明白了,好的,onChange函数是表单中字段的一部分,而不是架构属性列表中的一部分。您是对的,我已将其移动到表单中,但是我仍然不知道如何从绑定到字段Y的
onChange
侦听器设置字段X的值?