【发布时间】:2017-01-07 12:47:53
【问题描述】:
到目前为止,我对 Sail.js 很感兴趣,但我遇到了一个简单的问题:如果我有一个 javascript 函数,我只想在特定视图上运行,我应该在哪里调用它?
一个非常简单的例子是这样的:
//contact.ejs
<div id="contact"></div>
<script>
renderContact();
</script>
假设renderContact 是在我的站点主JS 文件中定义的,它的作用类似于:在<div id='contact'></div> 中创建一个联系人列表。
当然,该主 JS 文件以及所有供应商 JS 直到此脚本标记之后才会被加载,因为它已注入 layout.ejs,因此该函数将未定义。我总是可以像这样自然地等待页面加载:
document.addEventListener("DOMContentLoaded", function(event) {
renderContact();
});
但这似乎是一个可怕的解决方案。
我意识到 Sails 与 Angular、React 等功能强大的集成,但我首先想了解调用 JS 到单个页面的基本方式,然后才开始花哨。必须有更好的方法在 DOM 加载后仅在某些页面上运行某些功能?
【问题讨论】:
标签: javascript dom sails.js ejs