gpt4 book ai didi

javascript - ember.js 根据条件触发操作

转载 作者:行者123 更新时间:2023-12-03 02:37:22 25 4
gpt4 key购买 nike

如果条件返回 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"

最佳答案

首先,组件 hbs 中有拼写错误的语法。它应该以 {{ 开头。

其次,您的要求可以通过使用Ember观察者来完成。

创建了 live ember twiddle供您理解。

将组件 js 文件修改为,

import Ember from 'ember';

export default Ember.Component.extend({
toggleMe: false,
handleProperty : function()
{
this.send("changeValue");
}.observes('modeldata.property').on('didInsertElement'),
actions: {
changeValue() {
//console.log(this.get("toggleMe"));
this.toggleProperty('toggleMe');
//console.log(this.get("toggleMe"));
}
}
});

您可能还想阅读 Ember computed propertiesEmber observers .

关于javascript - ember.js 根据条件触发操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48492695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com