我应该如何将网站设置实施到我的Ember应用程序中?

jos*_*osh 5 ember.js

在这里问了一个与此类似的问题,特别是关于如何为特定控制器实现特定设置.总之,我想实现checkInSettings整个CheckInController让我index,settingsreports模板和控制器可以访问checkInSettings.

我确实得到了答案; 但是,我认为,具体的设置可能被限制,它会通过使得到更好的服务settings对象或专卖店,并定义像settings.checkIn在设置检查.

我看了网上的资源,但还没有想出很多答案...所以,我应该如何最好去创建应用程序范围内的设置,与我的应用程序的特定区域子设置?

注意:我不想使用Ember Data,因为它还没有生产就绪,这个应用最终会面向消费者.

谢谢!

Kin*_*n2k 1

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

App.SettingsController = Ember.Controller.extend({
  someSettingOn: false,
  someOtherSetting: null
});
Run Code Online (Sandbox Code Playgroud)

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

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')
})
Run Code Online (Sandbox Code Playgroud)