fancybox.update()无效

时间:2015-12-02 17:58:22

标签: javascript jquery ember.js fancybox

我有一个fancybox来管理用户。现在我定义了一个将用户设置为primary的函数。这是模板:

<ul class="user-list">
    {{#each inquiry.users as |user|}}
        <li>
          {{user.email}}
          {{#if (isEqual user.id createdBy)}}<span> (primary) </span> 
              {{else}} <button type="button" class="pretty small btn" {{action 'setPrimary' user}}>Set to Primary</button>
           {{/if}}
          <div class="pretty small danger btn icon-right entypo icon-cancel" {{action 'removeUser' user}}><a href="#">remove</a></div>
        </li>
    {{/each}}
</ul>

这是控制器:

createdBy: function() {
    return this.get('inquiry.created_by');
}.property('inquiry'),
actions: {
    setPrimary: function(user){
        var inquiry = this.get('inquiry');
        var userId = user.get('id');
        inquiry.set('created_by', userId);
        inquiry.save();
        $.fancybox.update();
    }
}

你看到isEqual助手中的createdBy是一个计算属性。如果用户的id等于查询创建的人的id,则该用户是主要用户。或者,您可以将用户设置为主要用户,从而触发将created_by查询设置为当前用户ID的操作。我使用$.fancybox.update()重新呈现内容,但是当我点击Set as Primary按钮时没有任何更改。有人能告诉我哪一部分是错的吗?我应该使用观察者而不是createdBy属性的计算属性吗?

0 个答案:

没有答案