【发布时间】:2017-03-08 12:37:13
【问题描述】:
在 Ember 组件中,可以定义 positionalParams 属性,以便作为位置参数传递的参数可以作为属性使用。例如:
let MyComponent = Ember.Component.extend;
MyComponent.reopenClass({
positionalParams: ['name', 'age']
});
当它被调用时:{{my-component "John" 38}} 属性 name 的值为 John,而 de 属性 age 的值为 38。
我想有相反的行为,但我找不到这是否可能。我正在寻找的行为如下:
我不想传递多个位置参数 ({{my-comp param1 param2}}),而是传递一个数组属性 ({{my-comp positionalArguments=myArray}}),因为它可以是动态大小。
我不仅在组件中寻找这种行为,还在帮助者中寻找这种行为:{{ concat firstName " " lastName }} 应该变成 {{ concat positionalArguments=myArray }}。在这两种情况下,助手应该获得与第一个参数相同的参数数组。
【问题讨论】:
-
MyComponent使用reopenClass方法定义positionalParams。所以这是特定于类MyComponent。我想说动态定义 positionalParams 是不可能的。
标签: ember.js handlebars.js htmlbars