2015-09-07 46 views
1

我需要訪問組件中的應用程序特定數據以及路線。我還需要設置來自普通JS的應用程序特定數據。Ember.js - 將應用程序特定數據存儲在燼中的最佳方式是什麼?

我目前創建了一個具有全局名稱空間(App.globalSetting)的對象,然後在該對象上創建了變量作爲屬性。

然後我可以使用App.globalSetting.set()和App.globalSetting.get()來設置和獲取變量。

上述方法是一種很好的做法還是有更好的方法來做同樣的事情。

此外,要存儲的數據也很關鍵。所以請建議一個完成此任務的最佳方法。

回答

1

你可能想看看服務:http://guides.emberjs.com/v2.0.0/services/

從指南:

「的Ember.Service是根據需要可以注入一個長壽命的灰燼對象。」

示例服務:

設置 - service.js

export default Ember.Service.extend({ 
    exampleSetting: true, 
    update(value) { 
    this.set('exampleSetting', value); 
    } 
}); 

如何從一個組件(或線)訪問該服務:

export default Ember.Component.extend({ 
    settings: Ember.inject.service('settings-service'), 
    actions: { 
    doSomething(val) { 
     this.get('settings').update(val); 
    } 
    } 
}); 
+0

感謝您的快速反應: - )。你能不能讓我知道,如果這是安全的,有詳細信息,例如用戶訪問應用程序中的特定功能?另外,我將如何能夠從不在Ember(簡單JavaScript)中的其他JavaScript函數設置服務的屬性。是否有可能? – Govind

+0

我不是安全專家,但我認爲在客戶端存儲憑據不是一個好主意。而且由於該服務是一個Ember對象,我認爲它不可能在Ember之外使用它。 –

相關問題