簡體   English   中英

灰燼1.12將航線投入服務

[英]Ember 1.12 Inject Route into Service

我正在嘗試創建一個服務以使用Ember-cli在Ember 1.12中處理模式對話框。 也許服務不是解決此問題的最佳方法,但是我想從應用程序中的任何位置訪問它,並能夠將內容動態地插入到彈出窗口中,因此這似乎是正確的方法。

這是我的服務:

import Ember from 'ember';

export default Ember.Service.extend({
    route: Ember.inject.service('route'),
    open: function(content){
        console.log('open popup', content);

        this.get('route').render('popup-box', { //popup-box is a component
            into: 'application',
            outlet: 'popup'
        });
    },

    close: function(){
        //TODO
    }
});

當我調用open方法時,出現此錯誤:

未捕獲的錯誤:嘗試注入未知的注入: service:route

我不確定我缺少什么。 有什么建議嗎?

您應該查看ember-wormhole, https://github.com/yapplabs/ember-wormhole 它將使您可以將模板的一部分定位到dom中其他位置的錨點。 非常適合模態!

附加信息:

AS @runspired指出,您不能像擁有路由器那樣注入路由器。

如果確實要注入路由器,則可以使用Ember.inject.service('-routing')或通過application.inject('<myTarget>', 'router', 'router:main'); 從初始化程序。

但是,您無權使用render方法,這可能被認為是一種氣味。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM