Javascript 余烬计算未被更新

Javascript 余烬计算未被更新,javascript,ember.js,javascript-objects,ember-components,ember-controllers,Javascript,Ember.js,Javascript Objects,Ember Components,Ember Controllers,我在余烬有一个计算属性 isCurrentUserLikeIt: Ember.computed('likestatuses.@each.user_id', function () { const userId = parseInt(this.commonService.getId()); const likestatuses = this.get('likestatuses'); return likestatuses.filterBy('user_id', use

我在余烬有一个计算属性

  isCurrentUserLikeIt: Ember.computed('likestatuses.@each.user_id', function () {
    const userId = parseInt(this.commonService.getId());
    const likestatuses = this.get('likestatuses');

    return likestatuses.filterBy('user_id', userId).get('length') !== 0;
  })
当用户调用操作时,必须更新计算属性

this.doSave("likestatus", likestatus).then(function (result) {
        if (result.userlike) {
          const likestatuses = context.get('likestatuses');
          likestatuses.push(likestatusItem);
          context.set('likestatuses', likestatuses);
        } else {
          const likestatuses = context.get('likestatuses').filter(function (item) {
            return item.user_id !== userId
          });
          context.set('likestatuses', likestatuses);
        }

        context.debug(context.get('likestatuses'));
      });
this.doSave
中的语句位于else中时,
isCurrentUserLikeIt
属性将更新。但是当语句位于
if(result.userlike)
中时,
isCurrentUserLikeIt
属性没有更改:(


任何人都可以在
中解决此问题如果
检查,则需要使用而不是
推送
,这将触发computed属性以重新计算,并触发observer和模板以将其更新为新值

likestatuses.pushObject(likestatusItem);