我有一个组件,在渲染时传递参数。它会有动态参数,所以我不能完全按它的名字命名。我搜索过很多帖子,但没有找到合适的帖子。
Application.hbs
{{small-button type="small" edges="curved"}}
小button.js
Ember.Component.extend({
tagName: "button",
didInsertElement: function(){
//need to get the dynamic params
}
});
我不知道param键。如何从我的组件button
提前致谢。
答案 0 :(得分:1)
如果可能,请考虑此用例的任何其他替代方案。现在我只建议你this.attrs
而不是其他人。
didInsertElement: function(){
//need to get the dynamic params
console.log(' Params keys ',Object.keys(this.attrs));
console.log(' Param values ', Object.values(this.attrs));
}
阅读本文 - https://locks.svbtle.com/to-attrs-or-not-to-attrs
那么,为什么不在Classic Components中使用
attrs
?因为在经典组件attrs
中已经存在,并且在内部用于管理组件绑定,可能不是您需要的。虽然使用它来进行操作应该非常好,但如果将它用于属性,则会遇到问题,因此使用当前API比记住这一点更容易。