2

バックボーン ビューを拡張して、レイアウト「スケルトン」の基本的な実装を追加しようとしています。これは、さまざまなコンポーネントを使用してページをつなぎ合わせるために使用されます。以下にリストされている問題は、ネストされたすべてのオブジェクト レイアウト ピースのスコープの変更です。同じスコープを指すこれらすべてのクロージャーを作成できますか、それとも単一のオブジェクト層に限定されますか? もしかして私の考えが間違っているのでしょうか?

    define(['backbone', 'underscore'
], function (backbone, _) {
    var base = backbone.View.extend({});

    _.extend(base.prototype, {
        sections: {
            head: {},
            body: {
                nav: {},
                main: {
                    header: {
                        title: "",
                        description: "",
                        inner_html: function () {
                            return this.render().el
                        },
                        menu_items: [],
                        changed: false,
                        scripts: function () { }
                    },
                    content: {
                        title: "",
                        description: "",
                        inner_html: function () {
                            return this.render().el
                        },
                        scripts: function () { }
                    },
                    buttons: {
                        items: [], // { id: "save", value: "Save" }, { id: "edit", value: "Edit" }
                        changed: false,
                        scripts: function () { }
                    }
                },
                footer: {}
            }
        }
    });

    return base;

});
4

1 に答える 1

2

これは、Marionette のレイアウト ビューと領域によく似ています。これを自分で書く必要はないかもしれません。私はよく、レイアウト、リージョン、およびマリオネットの特殊なビューを、アプリとモジュールの部分なしで使用します。

于 2013-04-11T14:48:25.723 に答える