我陷入了增加和减少组件js中的值。我在模板中得到了这个:

<div class="circleBase" {{action 'upHeat' device.status}}> <p>  {{heat}} C </p> </div>


现在,我只想在单击div时增加发热量。我的组件看起来像这样:

    init() {
        console.log('init');
        this._super(...arguments);
        this.errors = [];
      },
      didRender() {
        this.setProperties({
          heat: 0
        });
      },
    actions: {
        upHeat: function(a){
            this.set('heat', this.heat +1)
            //or
            this.setProperties({
                heat: this.heat +1
              });
           console.log(heat);
        }
      }


这是行不通的。每次单击div时,热量值都会增加,但不会保存。我的模板仍显示0作为值。

最佳答案

您已重置didRender()中的值。

因此,该钩子将触发渲染,将值重置为0

console.log(something)中使用didRender可以看到单击didRender时将调用div挂钩。

我已经按照您的要求进行了旋转。请看一看。

https://ember-twiddle.com/5ef763cc77aec803f9d62ae85a15dbc1

关于javascript - Ember 成分增加/减少值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47953249/

10-12 13:50