如果条件返回true,我想在组件hbs文件中触发一个动作。例如,如果我的component.js文件如下所示:
export default Ember.Component.extend({
toggleMe: false,
actions: {
changeValue() {
return this.toggleProperty('toggleMe');
}
}
});
我想在我的hbs文件中调用changeValue操作。这是我在component.hbs文件中尝试过的方法:
{{#if model.property}}
{{action changeValue}}
{{/if}}
我收到错误
"Assertion Failed: Action passed is null or undefined"
答案 0 :(得分:1)
首先,组件hbs中有拼写错误的语法。它应该以{{1}}开头。
其次,您可以使用#join together DataFrames
df2 = pd.concat([c, h.add_suffix('_2')], axis=1)
#with real data is possible data are not aligned and get NaNs
#for remove all NaNs rows use
#df2 = df2.dropna()
df2['Model'] = df2['copy'].astype(str)+df2['name'].astype(str)+'-'+ df2['name_2'].astype(str)
#filter columns and remove MultiIndex
df2 = df2[['Model','ntv','ntv_2']].reset_index(drop=True)
print (df2)
Model ntv ntv_2
0 G1BA-LA1 0.450 1.234
1 G1BB-LB 0.878 1.056
2 F2BA1-MA -7.890 -0.871
3 F2BB-LB1 2.345 0.737
。
为您的理解创建了live ember twiddle。
将组件js文件修改为,
{{
答案 1 :(得分:0)
您不应该在模板文件中调用操作
有计算属性。
这是一个例子:
import { computed } from '@ember/object';
export default Ember.Component.extend({
toggleMe: false,
toggleComputedProperty: computed('toggleMe', function() {^
return this.toggleProperty('toggleMe');
}
}
});
现在您可以在模板或逻辑中使用toggleComputedProperty。
根据经验:永远不要尝试在模板文件中进行逻辑/状态更改。为此使用计算属性或其他功能。
答案 2 :(得分:0)
错误是由于动作调用期间拼写错误的语法造成的。在调用它们时,必须使用双引号作为动作名称。
{#if model.property}}
{{action "changeValue"}}
{{/if}}
我还添加了twiddle供您参考。