流星模板未更新
meteor template not updating
我在单击按钮时创建了一个流星模板,如下所示:
Template.main.events({
'click input': function(event)
{
var templateInstance = Meteor.render(Template.chatfield({name:"james"}));
document.body.appendChild(templateInstance);
}
});
这将创建一个模板,其中包含来自用户的聊天消息。
我还在这个模板上使用了一个 .create 方法:
Template.chatfield.created = function()
{
var theData = this.data;
Template.chatfield.users = function()
{
return Guys.find({name:theData.name});
}
}
模板 html 代码如下所示:
<template name="chatfield">
<div id="messages">
{{#each users}}
{{#each messages}}
<p>{{this}}</p>
<br>
{{else}}
<p>No messages inner yet.</p>
{{/each}}
{{else}}
<p>No messages yet.</p>
{{/each}}
</div>
</template>
我现在将用户添加到集合中,例如只需在 chrome 控制台中编写以下内容:
Guys.insert({name:"james",messages:["hello","world","wow","cool"]});
当我现在按下按钮时,模板会按照我想要的方式显示。
问题是,如果我更新"伙计们"集合(再次在 chrome 控制台中):
Guys.update({name:"james"},{$push:{messages:'my new message'}})
什么也没发生。当我再次按下按钮时,可以看到新消息。但我希望它在用户添加消息后立即重新渲染。我做错了什么?
看起来需要显示多个用户,每个用户都有多条消息,并且该按钮有点像"添加新用户"。 如果没有记录,则不应显示任何记录。 应显示每条记录(或者帮助程序可以缩小范围)。
首先,放弃当你点击一个按钮时,你会对dom做一些事情的想法。 在流星中,你对数据做一些事情,流星负责显示它。
Template.main.events({
'click input': function(event)
{
Guys.insert({name:"james",messages:["hello","world","wow","cool"]});
}
});
聊天字段随时准备显示记录。 当没有显示时,它是不可见的。
在插入聊天字段的位置,将
{{>chatarea}}
助手
Template.chatarea.messageList = function() {
return this.messages;
}
Template.chatarea.guys = function() {
return Guys.find()
}
模板
<template name="chatarea">
{{#each guys}}
<div class="user">
<p>{{name}}</p>
<div id="messages">
{{#if messageList}}
{{#each messageList}}
<div class="message">
<p> i know you are but what am i? </p>
</div>
{{/each}}
{{else}}
<p>No messages yet. whazzzuppp?</p>
{{/if}}
</div>
</div>
{{/each}}
</template>
这是从工作代码中提取并编辑的,但未经测试。 如果出现问题,请告诉我。
相关文章:
- 流星收集更新不是在更新文档
- 流星.js如何更新模板数据
- 在angular流星中使用$push操作符更新mongodb
- 角流星不适用于meteor 1.3更新
- 在角流星中收集更新后执行函数
- 流星反应式嵌套对象更新父对象
- 流星更新模板助手
- 流星:如果值等于 X,则更新对象 1,否则更新对象 2
- 流星+棱角:ng重复不会更新
- 流星,更新时的反应式数组渲染问题
- 更新流星集合中的子数组列表
- 流星 :更新时闪烁数据
- 流星用户助手在更新后挂起
- 流星模板未更新
- 如何更新流星中的自动表单字段
- 当更新流星中的嵌套集合时,如何为更新路径传递变量
- 用自己的数据更新流星排行榜
- 无法't更新流星中的文档,找到了修复程序,但没有;I don’我不知道怎么用.我该把它放在哪里
- JQuery回调中没有更新流星模板
- 更新流星上的MongoDB收藏