不使用点击事件更新流星模板

时间:2013-02-21 17:25:50

标签: javascript node.js meteor handlebars.js reactiveui

我试图使用meteor会话制作一个反应式菜单(以保持用户的视图)..但它不起作用,Session.get(' currentView')变了(在chrome控制台中测试),但页面不会再渲染。

html的

<div class="col-1-1 menu" style="height: 42px;">
    <ul>
        <li><a class="dashButton" href="#"># Dashboard</a></li>
        <li><a class="myJobsButton"href="#">Jobs</a></li>
        <li><a class="helpPageButton"href="#">Help</a></li>
    </ul>
    <br style="clear:left"/>
</div>
{{#if currentViewIs "dashboard"}}
    {{> dashboard}}
{{else}}
    {{#if currentViewIs "myJobs"}}
        {{> myJobs}}
    {{else}}
        {{#if currentViewIs "helpPage"}}
            {{> helpPage}}
        {{else}}
            {{> dashboard}}
        {{/if}}
    {{/if}}
{{/if}}

client.js

Template.userPage.currentViewIs = function (view) {
    if( Session.get('currentView') == view)
        return true;
    return false;
};

Template.userPage.events({
    'click .dashButton': function (evt) {
        Session.set('currentView', 'dashboard');
  },
    'click .myJobsButton': function (evt) {
        Session.set('currentView', 'myJobs');
  },  
    'click .helpPageButton': function (evt) {
        Session.set('currentView', 'helpPage');
  }
});

1 个答案:

答案 0 :(得分:2)

现在工作正常:   - windows中的流星(win.meteor.com)中的一些奇怪的错误,在停止服务器和刷新chrome后,它按预期工作。