2013-10-21 15 views
5

Ho fatto una domanda simile a questa, here, in particolare su come implementare impostazioni specifiche per un controller specifico. In breve, volevo implementare checkInSettings per l'intero CheckInController in modo che i miei modelli e controller index, settings e reports abbiano accesso allo checkInSettings.Come devo andare a implementare le impostazioni del sito nella mia app Ember?

Ho avuto la mia risposta a questo; tuttavia, penso che le impostazioni specifiche potrebbero essere limitanti e sarebbe meglio servire creando un oggetto o un archivio settings e definendo qualcosa come settings.checkIn per le impostazioni di check-in.

Ho cercato risorse online, ma non ho trovato molte risposte ... Quindi, , come dovrei fare per la creazione di impostazioni a livello di applicazione, con impostazioni secondarie per aree specifiche della mia app?

Una nota: vorrei astenermi dall'usare Ember Data poiché non è ancora pronto per la produzione, e questa app finirà per essere utilizzata dai consumatori.

Grazie!

risposta

1

Ember Data è una bestia diversa. Memorizzali sul controller dell'applicazione. Oppure, se non si vuole o ingombrare il controller dell'applicazione, creare un'istanza singleton di un controller delle impostazioni e memorizzarli lì. (La stessa cosa può essere fatta solo sul controller dell'applicazione, basta usare l'applicazione invece delle impostazioni).

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

E poi in altri percorsi/controller:

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') 
}) 
+0

sarò in grado di accedere a '' anyProperty' o anyMethod' da un controller diverso, come 'CheckInController'? – josh

+0

Sì, è possibile, ma non era quello che stavo ottenendo, stavo dicendo che potevi accedere ad alcuniSettingOn o alcuniAltreimpostazioni da qualsiasi percorso o controller – Kingpin2k

Problemi correlati