Ember开发中如何将对象传递给Component组件?
Ember组件传入对象的方法
当然可以,Ember支持向组件传递任意类型的参数,对象类型也不例外,具体写法分场景说明:
- 如果你使用
.gjs/.gts单文件组件写法,你给出的示例本身就是合法用法,内联定义对象直接写在大括号里即可,注意给组件参数加@前缀是Ember的规范写法:
子组件内部可以通过<SomeComponent @object={{ color: 'green' }} />this.args.object拿到完整的传入对象,直接读取对应属性即可。 - 如果你在传统的
.hbs模板中调用组件,需要借助hash助手来构造对象传入:<SomeComponent @object={{hash color='green'}} /> - 如果要传递的对象是提前定义好的变量,直接写变量名即可,两种场景都通用:
// 父组件中提前定义好对象 const config = { color: 'green', size: 'middle', showBorder: true }; <template> <SomeComponent @object={{config}} /> </template>
小提示:传入的对象是引用类型,父组件修改对象的属性时,子组件会自动响应数据变化更新视图,不需要额外添加监听逻辑。
内容的提问来源于stack exchange,提问作者NullVoxPopuli
相关产品推荐
相关产品推荐

