私はDjangoが提供するWebサイトを運営していますが、ほとんどすべてのロジックがサーバー側に存在します。ただし、AJAX中心のページ(コメントページなど)がいくつかあり、時間の経過とともに、そのようなページは、複数のネストされたAJAXコールバックと、大量のDOM操作を伴う乱雑になりすぎています。
メンテナンスが難しいので、Emberjsを試してみることにしました。
すべてのJSを1つの縮小ファイルに圧縮して提供するため、それらを必要とするページによってのみリンクされる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の初期化ではなく、コントローラーコードを節約するでしょう。
この問題を解決する方法について何か提案はありますか?ありがとう!