Meteor:辅助变量不刷新

时间:2016-01-30 13:14:41

标签: meteor meteor-blaze

在流星信使应用程序中,我为每个与您交谈的用户提供了页面。但是当你切换用户时,它并不总是切换对话。

辅助变量似乎并不令人耳目一新。有什么想法吗?

Router.route('/cc/:name',{ 
      template: "cc",
      name: "cc",
      data: function(){
        var x = //...
        chat = Chats.find({users: {$all: [x, Meteor.userId()]}});
      }
    });

辅助

Template.cc.helpers({
    'chat': function(){
        return chat
    }
});

模板

<template name="cc">
 {{#each chat}}
    {{#each message}}
        <span>{{senderName}}</span>
        <b>{{content}}</b>
    {{/each}}
    </div>
 {{/each}}
</template>

1 个答案:

答案 0 :(得分:1)

这不是被动的,因为分配不是被动操作。帮助者有反应上下文Chats.find反应数据源,但您必须从反应数据源 中读取 反应性上下文使其具有反应性。

解决方案A

它看起来像IronRouter,因此直接从Router传递数据。阅读更多here

解决方案B

chat变为ReactiveVar。阅读更多here