Javascript 基于自定义对象显示/隐藏字段

Javascript 基于自定义对象显示/隐藏字段,javascript,angularjs,angular-formly,Javascript,Angularjs,Angular Formly,我试图做的是让一个地方,对象(如本例中的vm.foo)与key:value成对显示和隐藏我的字段。例如,我可以把另一对像:1502:true这样的对象放在我的对象上,我可以用它来隐藏我的字段和key1502 如果有任何方法可以将我的变量从控制器传递给hideExpression使用 这里只是一个链接,指向同一个小示例,其中项目没有隐藏,尽管hideExpression属性设置为true 下面只是一个小片段,似乎hideExpression没有从vm.foo[bar]获取我的值,但当我检查con

我试图做的是让一个地方,对象(如本例中的
vm.foo
)与
key:value
成对显示和隐藏我的字段。例如,我可以把另一对像:
1502:true
这样的对象放在我的对象上,我可以用它来隐藏我的字段和key
1502

如果有任何方法可以将我的变量从控制器传递给
hideExpression
使用

这里只是一个链接,指向同一个小示例,其中项目没有隐藏,尽管
hideExpression
属性设置为true

下面只是一个小片段,似乎
hideExpression
没有从
vm.foo[bar]
获取我的值,但当我检查
console.log时,
值存储在
vm.foo
中。如果有人能提供正确的指导,因为我刚开始使用formly,谢谢:)



你误解了工作原理。它是一个
格式表达式
表达式属性
类似(不完全相同)

这是:


注意,对于您正在做的事情,我建议您考虑使用
formState
感谢您的快速响应和帮助,同时我将尝试合并并使用
formState
vm.foo = {      
  1000: true,
  1021: false,
  3204: true
};

var bar = 1000;

console.log(vm.foo[bar]);
{
  key: 'text',
  type: 'checkbox',
  templateOptions: {
    label: 'Hidden box'
  },
  hideExpression: 'vm.foo[bar]'
}
{
  key: 'text',
  type: 'checkbox',
  templateOptions: {
    label: 'Hidden box'
  },
  hideExpression: function() { return vm.foo[bar] }
}