0

私はバックボーンjsの公式ドキュメントを調べてきましたが、これに対する答えが見つからないようです。以下は彼らのWebサイトからの抜粋です。

var DocumentRow = Backbone.View.extend({

   tagName: "li",

  className: "document-row",

  events: {
   "click .icon":          "open",
   "click .button.edit":   "openEditDialog",
   "click .button.delete": "destroy",
   "click .list1 .item1" : "open",
 },

  render: function() {
  ...
}

});

私が理解していないのはイベントです:セクションそれでそれは何を言っているのですか?

誰かが平易な英語で次のことを説明したり、ドキュメントのどこにあるかを指摘したりできますか

   "click .icon":          "open",
   "click .button.edit":   "openEditDialog",
   "click .button.delete": "destroy",
   "click .list1 .item1" : "open",

??

ありがとう

4

2 に答える 2

0

基本的に、DOM イベントをビュー メソッドにリンクしています。

このようなものに基づいて...

var DocumentRow = Backbone.View.extend({

    tagName: "li",

    className: "document-row",

    events: {
        "click .icon": "open",
        "click button.edit": "openEditDialog",
        "click button.delete": "destroy",
        "click .open": "open",
    },

    open: function() {
        // The open something code here
    },
    openEditDialogue: function() {
        // Code to open edit dialogue
        var editDialogue = new EditDialogueView(); // etc.
    },
    destroy: function() {
        this.model.destroy();
    }

...

ビュー el は次のようになります。

<li class="document-row">
    <div class="list1">
        <img src="someSRC" class="icon" />
        <button class="edit">EDIT</button>
        <button class="delete">DELETE</button>
        <button class="open">OPEN</button>
    </div>
</li>

このようにする必要はありませんが、イベント宣言に基づいて DOM を再作成しているだけです。

平易な英語では、基本的にこれが言っていることは次のとおりです。

クラス アイコンの要素をクリックすると、open() メソッドが実行されます。クラス編集でボタン要素をクリックすると、openEditDialogue() メソッドが実行されます。クラス削除でボタン要素をクリックすると、destroy メソッドが実行されます。クラスが開いている要素をクリックすると、open() メソッドが実行されます。

したがって、基本的には event: {} オブジェクトを作成し、イベント ルール、リスナーがアタッチされる DOM 要素、および基本的なビュー機能を設定するハンドラ (このビュー クラス内) を設定します。

于 2012-08-08T04:12:10.460 に答える