首页 > 解决方案 > 如何将对象传递给组件?

问题描述

这个问题是在Ember Discord中提出的。

有没有办法将对象传递给组件

<SomeComponent object={color: green} />

标签: ember.js

解决方案


从 2021 年 10 月开始使用最新的 Ember

是的!两种方式,

仅通过模板:

<SomeComponent @object={{hash color="green"}} />

这使用哈希助手。

请注意,这里还有其他差异。@参数必须以(以区别于attributes )开头,它们是原生 HTML,例如class,id等——而 ember 中的“动态位”被双花括号 . 包围{{}}。对于属性和参数的概述,我推荐官方指南中的组件参数和 HTML 属性

将对象传递给组件的第二种方法是,如果您已经有一个:

import Component from '@glimmer/component';

export default class MyComponent extends Component {
  myObject = { color: 'green' };
}
<SomeComponent @object={{this.myObject}} />

推荐阅读