0
A
回答
0
沒有什麼特別的,你需要在奧德爲「擴展」添加到灰燼。您最想做的事情是引入新的Controllers and Views
。爲了做到這一點,你只需要繼承Ember的核心類。 Here就是這樣一個「擴展」的例子,它提供了可重複使用並提供很多價值的視圖。
3
Ember.js內置了很多擴展功能,因爲許多類都可以擴展,這是構建自己的控制器,路由和模型的標準方式;現有類和現有實例都可以「重新打開」。 [最好是專門問一下你想達到什麼樣的目的,以獲得更具體的答案,然後去做一個更好的方法。]
另外,如果你想有一個全新的類來定義你的控制器的行爲或者路由需要訪問,那麼就有一種機制可以將新類的實例注入到它們中,而實例不是全局變量。基於從http://livsey.org/blog/2013/02/10/integrating-pusher-with-ember/的代碼,你可以通過定義類:
Ember.MyNewPlugin = Ember.Object.extend({
init: function() {
// Anything you need to do to initialise the object
},
myFunc: function(param) {
// Anything you need to do with with "param"
}
});
然後注入實例到由控制器和路線:
Ember.Application.initializer({
name: "mynewplugin",
initialize: function(container, application) {
// use the same instance everywhere in the app
container.optionsForType('mynewplugin', { singleton: true });
// register 'mynewplugin:main' as our MyNewPlugin object
container.register('mynewplugin', 'main', Ember.MyNewPlugin);
// inject the MyNewPlugin object into all controllers and routes
container.typeInjection('controller', 'mynewplugin', 'mynewplugin:main');
container.typeInjection('route', 'mynewplugin', 'mynewplugin:main');
}
});
然後在控制器和路線,你可以通過訪問實例
var myNewPlugin = this.get('mynewplugin');
並通過調用它的函數:
myNewPlugin("Some data");
相關問題
- 1. Emberjs回去取消
- 2. Emberjs
- 3. Emberjs - 如何從另一個控制器」
- 4. 如何使用EmberJS
- 5. Emberjs - 如何在RC1
- 6. 我如何創建動態手風琴組件EmberJS
- 7. 如何在emberjs中爲模態框創建組件?
- 8. 如何使jquery插件與emberJS一起使用?
- 9. Emberjs在保存後創建新模型
- 10. 在EmberJS中創建一個初始化腳本
- 11. 在emberjs模板中的jquery插件
- 12. Sahrethis emberJs
- 13. EmberJS attributeBinding
- 14. EmberJS如何構建一個動態過濾
- 15. 如何構建一個EmberJS應用程序與REST後端
- 16. Emberjs:觸發HTML5上的Emberjs事件音頻「已結束」事件
- 17. emberjs如何禁用Ember.Select?
- 18. 如何使用車把(EmberJS)
- 19. emberjs如何添加外部JS文件
- 20. 如何查詢emberjs中的JSON文件
- 21. 如何在emberjs中做這個模板?
- 22. 如何在emberJs中創建選擇並向其添加數據
- 23. 如何用hasMany和belongsTo關聯創建記錄? [EmberJS]
- 24. 測試與emberjs
- 25. EmberJS,Helpers and ComputedProperty
- 26. Emberjs Complex Routing
- 27. 產生emberJS
- 28. 混淆在emberjs
- 29. Emberjs rootElement的
- 30. Yeoman + EmberJS + Phonegap