我想在智能和哑巴组件(逻辑和表示组件)上重构我的代码,我想知道是否可以在输入中传递函数,并从主机组件触发它(例如,在Angular中)。
发布于 2017-12-19 18:34:36
这是可能的。我采用这种方法是为了有一个模型数据组件和一个带有切换的单独过滤组件,该组件将通过如下属性将函数传递给模型组件:
<my-model id="modelData" items="{{items}}" filters="{{filters}}"></my-model>
<my-filter id="listFilter" active-filter="{{filters}}"></my-filter><my-filter>内幕
static get properties() {
return {
activeFilter: {
type: Object,
notify: true
}
}
}
apply() {
this.activeFilter = this._compute(this.$.myToggle.value)
}
_compute(toggle) {
return function(item) {
return item.condition == toggle
}
}<my-model>内幕
_filterModel(model, filters) {
for (let item of model) {
if (filters(item)) {
this.push('filteredList', item)
}
}
}虽然我这样做只是为了证明概念,但通常我只是传递要修改的对象。
https://stackoverflow.com/questions/47883619
复制相似问题