Google Closureコードに、本体が読み込まれたときに大豆テンプレートによって生成されたHTMLを本体に追加することを目的としたイベントリスナーを備えた関数があります。
/**
* Constructs the home page.
*/
AppLoader.prototype.constructHomePage = function() {
goog.events.listen(document.body, 'onload', function() {
document.body.innerHTML = templates.home.main();});
}
(new AppLoader()).constructHomePage();
ただし、動作しません。Chromeコンソールもエラーを提供しません。私が試したのは、javascriptにネイティブなaddEventListener関数を使用する以下のコードです。
... class instantiation
/**
* Constructs the home page.
*/
AppLoader.prototype.constructHomePage = function() {
document.body.innerHTML = templates.home.main();
}
document.body.addEventListener('load', function() {
(new AppLoader()).constructHomePage();
}, false);
この後者の方法は機能しますが、Closureをまったく使用しないため、信頼できるとは思いません。Google Closureで記述されたイベントリスナーが機能しないのはなぜですか?