我正在尝试使用 meteor session 创建一个响应式(Reactive)菜单(以保留用户的 View )..但它不起作用,Session.get('currentView') 被更改(chrome 控制台中的 teste),但页面不会再次呈现。
.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}}
客户端.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');
}
});
最佳答案
现在工作正常: - Windows 版 meteor (win.meteor.com) 中存在一些奇怪的错误,在停止服务器并刷新 chrome 后,它按预期工作。
关于javascript - Meteor 模板不使用点击事件更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15008564/