5

我在这里问了一个类似的问题,特别是关于如何为特定控制器实现特定设置。简而言之,我想实现checkInSettings整体CheckInController,以便我的indexsettings、 和reports模板和控制器可以访问checkInSettings.

我确实得到了答案;但是,我认为特定设置可能会受到限制,最好通过制作settings对象或存储,并settings.checkIn为签入设置定义类似的内容。

我在网上寻找资源,但没有找到很多答案......那么,我应该如何最好地创建应用程序范围的设置,以及我的应用程序特定区域的子设置?

注意:我想避免使用 Ember Data,因为它还没有准备好生产,这个应用程序最终将面向消费者。

谢谢!

4

1 回答 1

1

Ember Data 是另一种野兽。将它们存储在应用程序控制器上。或者,如果您不想让应用程序控制器变得混乱,请创建一个设置控制器的单例实例并将它们存储在那里。(同样的事情可以在应用程序控制器上完成,只需使用应用程序而不是设置)。

App.SettingsController = Ember.Controller.extend({
  someSettingOn: false,
  someOtherSetting: null
});

然后在其他路线/控制器中:

App.AnyRoute = Ember.Route.extend({
  anyMethod: function(){
    this.controllerFor('settings').toggleProperty('someSettingOn');
  }
})


App.AnyController = Ember.Controller.extend({
  needs: ['settings'],
  anyMethod: function(){
    var setting = this.get('controllers.settings.someOtherSetting');
    console.log(setting);
  },
  anyProperty: function(){
    if(this.get('controllers.settings.someSettingOn')){
        return 'yes';
    }
    return 'no';
  }.property('controllers.settings.someSettingOn')
})
于 2013-10-21T03:06:42.263 回答