0

我创建了一个mixin、一个controller和一个template

// checkIn/index.js.handlebars
<div class="page-header text-center">
        <h2>
                Check in for
                {{#unless checkInSettings.loaded}}
                        <span class="icon-spinner icon-spin"></span>
                {{else}}
                        <span class="text-info">{{checkInSettings.programName}}</span> - <span class="text-info">{{checkInSettings.programStartDate}}</span>
                {{/unless}}
        </h2>
</div>

// controllers/check_in_controller.js
App.CheckInController = Em.Controller.extend(App.LoadCheckInSettings);

// mixins/load_check_in_settings.js
App.LoadCheckInSettings = Em.Mixin.create({
        init: function() {
                this._super();
                if (!this.get('checkInSettings')) {
                        this.set('checkInSettings', App.CheckInSettings.create());
                        this.get('checkInSettings').set('isLoading', true);
                        var self = this;
                        $.getJSON('/check_in/settings').then(function(data) {
                                self.get('checkInSettings').set('isLoading', false);
                                self.get('checkInSettings').set('programName', data.program_name);
                                self.get('checkInSettings').set('programAcademicYear', data.program_academic_year);
                                self.get('checkInSettings').set('programStartDate', data.program_start_date);
                                self.get('checkInSettings').set('loaded', true);
                        });
                }
        }
});

我正在尝试加载checkInSettings到整个CheckInController及其所有子控制器中。我想checkInSettings在我的checkIn/index模板中看到,但它没有出现。

如果我创建控制器,什么是有效的:

// controllers/check_in_index_controller.js
App.CheckInIndexController = Em.Controller.extend(App.LoadCheckInSettings);

但是,我想加载设置以用于其他区域CheckIn,例如设置页面。

有没有办法CheckIn在控制器或路由中为所有 , 加载这个 mixin,以便我可以checkInSettingsindexor访问settings

4

1 回答 1

1

创建一个控制器 CheckInsIndexController。在该控制器上添加这两个属性需要:['check_ins'],一个 checkinsBinding:'controllers.checkIns.content'。然后,您可以在索引模板中使用 checkIns。

于 2013-10-19T14:44:07.127 回答