Ember视图在接收更新时重新呈现

时间:2014-05-30 16:34:09

标签: ember.js

我正在Ember创建一个实时应用程序。

每次收到更新时,我都会执行以下操作:

 record = serializer.extractSingle(store, type, data);
 store.update(socketModel, record);

更新是drawnNumbers数组。

在我看来会发生这种情况;

{{#each bingoCard in ownBingoCards}}
    <div class="col-sm-4">
        <div class="table-responsive">
            <span class="label label-primary">Card {{bingoCard.id}}</span>
            <table class="table table-bordered table-card">
                <tbody>
                {{#each row in bingoCard.squares}}
                <tr>
                    {{#each number in row itemController='number'}}
                    {{#if number}}
                    <td {{bind-attr class='isActive:active'}}>{{number.model}}</td>
                    {{else}}
                    <td>X</td>
                    {{/if}}
                    {{/each}}
                </tr>
                {{/each}}
                </tbody>
            </table>
        </div>
    </div>
{{/each}}

ownBingoCards是计算属性

ownBingoCards: function () {
    var gameId, userId;
    gameId = this.get('id');
    userId = this.get('session.content.id');

    return this.get('store').filter('bingoCard', function (bingoCard) {
        return (bingoCard.get('game.id') === gameId && bingoCard.get('user.id') === userId);
    });
}.property('model.bingoCards', 'session.content'),

因此,每次将数字添加到drawnNumbers数组时,都会将td设置为active

唯一的问题是,我的整个观点让人感到非常迟钝。但是一旦我刷新浏览器,它就会停止重新渲染整个视图并只标记数字active。为什么会这样?为什么需要刷新?

0 个答案:

没有答案