0

バックボーン ビューを含む requireJS モジュールをロードしています。そのビュー内では、「初期化」中に、別のモジュールに含まれるサブビューもロードされます。これが完了したら、新しくロードされたサブビューにリスナーを追加したいと思います。ただし、ロードされるはずだった子モジュールがまだ何らかの理由で登録されていないため、この操作は失敗します。以下のコードでは、"that.childModule" をログに記録すると、未定義の値が返されますが、モジュールが正しく読み込まれている場合はそうではありません。何が問題になる可能性がありますか

//Sample of a requireJS module that contains a backbone view, which in turn loads other subviews

define(function (require) {
    //Narrate dependencies
    'use strict';
    var $ = require('jquery');
    var _ = require('underscore');
    var Backbone = require('backbone');

    //Create the parentView
    var ParentView = Backbone.View.extend({
        initialize: function() {
            _.bindAll(this, 'render');
            this.render();

        //Make the subViews
            var that = this;
        require([
                'models/common/childModel',
                'views/common/childView'
            ], function(ChildModel, ChildView){
                that.ChildModule = new ChildView({
                    el: $(".theDiv", that.el), 
                    model: new ChildModel()
                });
            });
            console.log(that.ChildModule)
            this.listenTo(this.ChildModule.model, 'change:focus', this.blur);
        },
        render: function() {
            $(this.el).addClass('something');
            $(this.el).append('<div class="theDiv"></div>');;
            return this;
        },
    });

    return ParentView;
});
4

0 に答える 0