0

jQuery がロードされた後にバックボーン モデル/ビューを初期化する多くのチュートリアルを目にします。何故ですか?その前に定義できないの?

たとえば、リンク

jQuery ->

  class ListView extends Backbone.View

    el: $ 'body'

    initialize: ->
      _.bindAll @
      @counter = 0
      @render()

ドキュメントのロード前にクラスを定義し、ドキュメントのロード後にビュー/モデルを初期化できますか?


また、モデル/ビューが定義されているのwindowはなぜですか?

window.TodoView = Backbone.View.extend
  ...
4

2 に答える 2

1

確かに、それは単純化のために行われています。もちろん、コンストラクターを外部で定義することもできます (おそらくそうするべきです) jQuery(document).ready()。また、グローバル空間を汚染しないために、独自のグローバル オブジェクトを使用することもできます (また、おそらく使用する必要があります)。

于 2012-05-31T10:59:05.943 に答える
1

jQueryの後にビューを初期化するのはなぜですか?

バックボーンのメインページから;

Backbone の唯一の強い依存関係は Underscore.js (> 1.3.1) です。RESTful 永続化の場合、Backbone.Router による履歴サポートと Backbone.View によるDOM 操作には、json2.js と、jQuery (> 1.4.2) または Zepto のいずれかが含まれます。

【地雷強調】

それが依存関係です。

window?の下で定義されたモデル/ビュー

これらの小さなチュートリアルの例を簡素化します。すべてが にアクセスできるためwindow、グローバル (ctors、変数、関数など) の便利な (乱雑な場合) ダンプ グラウンドになります。

IMO、より大きな(デモではない)プロジェクトの場合、RequireJSのようなものを使用する必要があります。

于 2012-05-31T10:57:41.723 に答える