我运行一个由 Django 服务的网站,几乎所有的逻辑都存在于服务器端。但是,我有一些以 AJAX 为中心的页面(例如评论页面),随着时间的推移,这些页面变得过于混乱,有多个嵌套的 AJAX 回调和繁重的 DOM 操作。
它太难维护了,所以我决定试试 Emberjs。
我想避免一些 JS 文件仅由需要它们的页面链接,因为我将所有 JS 压缩在一个我提供的缩小文件中。
如果我不需要,有没有办法不初始化 Emberjs?
例如,这里有一些 HTML:
<p>
I don't need ember in this page!
</p>
还有一些JS:
App = Ember.Application.create({
rootElement: "hello"
});
Ctrl = Ember.ArrayController.create({
content: [],
init: function() {
alert("Ember is initialized anyway.");
}
});
小提琴:http: //jsfiddle.net/JYvSE/
在alert
我的控制器的init
功能被执行。我可以把它放在我的 HTML 中:
<div id="ember-enabled"></div>
然后在我的控制器中我可以这样做:
if($('#ember-enabled') === undefined) return;
但这会让我省去控制器代码,而不是 Emberjs 初始化。
关于如何解决这个问题的任何建议?谢谢!