【发布时间】:2017-06-23 08:18:36
【问题描述】:
我正在尝试专门使用 Blaze 来替代 Iron-Router,因为我想控制 HTML 页面的正文。
到目前为止,我能够在 contentHolder div 中呈现其他模板。
但是我似乎无法删除它们,因为我找不到与contentHolder 关联的当前视图,以便使用Blaze.remove(renderedView)。
因此,当我单击列表时,我会获得附加的页面。
我的 HTML 如下:
<head>
<title>routeTest</title>
</head>
<body>
<h1>Button menu</h1>
{{> buttonMenu}}
<div id="contentHolder">
</div>
</body>
<template name="buttonMenu">
<ul>
<li id="home">Home</li>
<li id="calendar">Calendar</li>
<li id="history">History</li>
</ul>
</template>
<template name="home">
<h1>Home template is now rendered</h1>
</template>
<template name="calendar">
<h1>Calendar template is now rendered</h1>
</template>
<template name="history">
<h1>History template is now rendered</h1>
</template>
而我的.js文件如下:
Template.buttonMenu.events({
'click #home': function(){
console.log(Blaze.getView(document.getElementById("contentHolder")).name);
Blaze.render(Template.home, document.getElementById("contentHolder"));
},
'click #calendar': function(){
console.log(Blaze.getView(document.getElementById("contentHolder")).name);
Blaze.render(Template.calendar, document.getElementById("contentHolder"));
},
'click #history': function(){
console.log(Blaze.getView(document.getElementById("contentHolder")).name);
Blaze.render(Template.history, document.getElementById("contentHolder"));
},
});
【问题讨论】:
标签: javascript meteor url-routing meteor-blaze