0
我有一個由Blaze渲染的模板,因爲我有一個創建的着陸頁,然後當用戶點擊註冊按鈕時將其移除,它將它帶到Blaze呈現的另一個模板。如何在使用blaze渲染的新模板上實例化事件偵聽器?
的HTML是隻是一個div漂亮空白模板
<head>
<title>Perform</title>
</head>
<body>
<div id="template">
</div>
</body>
下面是加載虛擬第一個模板。
<template name="first">
<button id="first_button">Click to jump to the next template</button>
</template>
這被載入
<template name="second">
<button id="second_button">This button is not wired to an event</button>
</template>
我有所有的JavaScript在客戶端上運行一個文件加載第二個(虛擬)模板:
var currentView;
var templateContainer;
$(document).ready(function() {
templateContainer = document.getElementById('template');
// This renders the first template. All events are currently working
currentView = Blaze.render(Template.first, templateContainer);
});
Template.first.onDestroyed(function() {
// This console.log is firing
console.log("Destroyed first template");
});
Template.first.events({
'click #first_button': function() {
// Remove the first template with Blaze
Blaze.remove(currentView);
// Render the second template
currentView = Blaze.render(Template.second, templateContainer);
}
});
Template.second.onCreated(function() {
// This console.log is firing when the 'second' template is created
console.log("Hello! I've been created");
});
// The second template is actually a form I'd like to submit. Form omitted for brevity
Template.second.events({
'submit #second_button': function(e, t) {
// This console log is not firing.
console.log("Register clicked");
}
});
任何人都知道我需要做的是讓第二個模板的事件觸發?這只是不工作,現在有點令人沮喪。
在此先感謝您的幫助。