2016-08-26 46 views

回答

2
  1. 添加第二個 「回調」 的說法到您的插件configure方法:
configure(frameworkConfig, callback) { 
  • 檢查這種說法是否被通過。如果是,調用。它與你的「配置」類。
  • const myPluginConfiguration = new MyPluginConfiguration(); 
    if (callback instanceof Function) { 
        callback(myPluginConfiguration); 
    } 
    
  • 最後,應用的配置:
  • myPluginConfiguration.apply(); 
    

    應用程序消耗你的插件會做他們的主要是這樣的。 js

    ... 
    .plugin('my-plugin', config => config.apiPath('https://api.foo.com/')) 
    ... 
    

    而且你的插件的配置類可能是這個樣子:

    export class MyPluginConfiguration { 
        apiPath(path) { 
        // do something with path 
        } 
    
        apply() { 
        // any final configuration... 
        } 
    } 
    

    下面是一個官方例子:https://github.com/aurelia/validation/blob/master/src/aurelia-validation.ts#L53

    +0

    如何申請在應用方法的變化?我似乎無法獲得插件的實例。 – matt

    +0

    將「apply」的簽名更改爲您需要的任何內容。在我鏈接的例子中,我認爲它是'apply(container)'。 –

    +0

    我嘗試過,但是當我從frameworkConfig引用容器時,它是未定義的。 – matt