当前位置: 动力学知识库 > 问答 > 编程问答 >

javascript - Ember action or this.get works only once

问题描述:

I have this index 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.

}),

});

And this is button in the template.

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

When I click on the button for the first time, console.log() contain 2 line of messages correctly.

click on button reload

do reload method

But when I click on the button for second time or more, console.log() contain contain only one line. It doesn't call doReload again.

click on button reload

How to make this.get work every time I click on the action button?

网友答案:

computed properties are cached until dependent properties are changed. If you want to just execute a function not inside the action just create and call a function.

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.
    },
});
分享给朋友:
您可能感兴趣的文章:
随机阅读: