如何在Meteor中重新加载(重新渲染)模板

如何在Meteor中重新加载(重新渲染)模板,meteor,meteor-blaze,Meteor,Meteor Blaze,我正在开发一款支持多种语言的聊天应用程序。该应用程序的基础工作良好,但我有小问题时,改变聊天室 每个房间的设置都支持两种语言。发送聊天信息时,您可以选择使用哪种语言发送信息。这是通过单击一个标志的小图标来完成的,该图标在两个标志图标之间切换。这方面的模板是: <template name="chatBar"> <div id="chatBar" class="input-append input-prepend"> <form id="chatForm"&g

我正在开发一款支持多种语言的聊天应用程序。该应用程序的基础工作良好,但我有小问题时,改变聊天室

每个房间的设置都支持两种语言。发送聊天信息时,您可以选择使用哪种语言发送信息。这是通过单击一个标志的小图标来完成的,该图标在两个标志图标之间切换。这方面的模板是:

<template name="chatBar">
<div id="chatBar" class="input-append input-prepend">
    <form id="chatForm">
        <span class="add-on"><img src="/images/flags-iso/flat/16/{{chatMessageLang}}.png" id="lang"></span>
        <input id="chatMessageLanguage" type="hidden" value="{{chatMessageLang}}">
        <input id="chatMessageTarget" type="hidden" value="{{chatMessageTargetLang}}">
        <input class="input-xxlarge" id="chatMessage" type="text" placeholder="&larr; choose your language and then type your message here&hellip;">
        <button class="btn" id="sendNewMessage" type="submit">Send</button>
    </form>
</div>
如何使变量chatMessageTargetLang响应加载的聊天室每个聊天室都有自己的路由

谢谢
Adam

属性是否有助于保持每个聊天室的语言?嗨,Dan。谢谢你的建议。聊天室本身的语言也不错。问题是聊天栏在更改聊天室时没有反应性地重新加载,因此聊天栏具有第一个加载的聊天室的语言设置。奇怪的是,聊天室时聊天信息TargetLang被正确更新。但查特朗不是
<template name="chat">
{{> chatroom}}
<div id="chatWindow">
    <ul>
        {{#each chats}}
        <li class="{{messageClass}} {{_id}}">
            <img src="/images/flags-iso/flat/16/{{langOriginal}}.png">
            {{langTo.flagicon}}
            {{user}}:
            <span class="message" lang="{{langOriginal}}">{{original}}</span>
            {{#if translated}}
            <span class="message" lang="{{langTranslated}}">{{translated}}</span>
            {{/if}}
            {{#if correction}}
            <i class="icon-remove"></i>
            <span class="friendCorrection">{{correction}}</span>
            {{/if}}
            <span class="messageOptions">{{{messageOptions}}}</span>
        </li>
        {{/each}}
    </ul>
</div>
{{> chatBar}}
</template>
Template.chatBar.helpers({
chatMessageLang: function() {
    //return getCurrentChatroomInfo().langFrom.iso;
    return Meteor.user().profile.langNative;
},

chatMessageTargetLang: function() {
    var chatroomLang1 = getCurrentChatroomInfo().langFrom.iso;
    var chatroomLang2 = getCurrentChatroomInfo().langTo.iso;


    if(Meteor.user().profile.langNative == chatroomLang1){
        return chatroomLang2;
    } else {
        return chatroomLang1;
    }
}});

function getCurrentChatroomInfo(){
  return Chatrooms.findOne({_id : Router.current().params['_id']})
}