gpt4 book ai didi

javascript - Ember Action 或 this.get 只工作一次

转载 作者:行者123 更新时间:2023-11-30 15:50:15 27 4
gpt4 key购买 nike

我有这个索引 Controller 。

import Ember from 'ember';

export default Ember.Controller.extend({
actions: {
reload() {
console.log('click on button reload');
this.get('doReload');
}
},
doReload: Ember.computed(function() {
console.log('do reload method');
// ajax action will be here.
}),
});

这是模板中的按钮。

<button type="button" class="btn btn-secondary btn-sm" {{action 'reload'}}>Reload</button>

当我第一次点击按钮时,console.log() 正确包含 2 行消息。

click on button reload
do reload method

但是当我第二次或多次点击按钮时,console.log() 只包含一行。它不会再次调用 doReload

click on button reload

如何让 this.get 在我每次点击操作按钮时都起作用?

最佳答案

计算的属性会被缓存,直到相关属性被更改。如果您只想执行一个不在操作内的函数,只需创建并调用一个函数即可。

export default Ember.Controller.extend({
actions: {
reload() {
console.log('click on button reload');
this.doReload();
}
},
doReload: function() {
console.log('do reload method');
// ajax action will be here.
},
});

关于javascript - Ember Action 或 this.get 只工作一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39462007/

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