2
我正在創建一個基於Aurelia Skeleton Plugin的新插件。但我不知道如何使其可配置。我希望用戶在添加我的插件時設置屬性(特定的API路徑)。因此,無論何時他們使用插件,都會配置他們的需求。如何創建可配置的Aurelia插件?
我正在創建一個基於Aurelia Skeleton Plugin的新插件。但我不知道如何使其可配置。我希望用戶在添加我的插件時設置屬性(特定的API路徑)。因此,無論何時他們使用插件,都會配置他們的需求。如何創建可配置的Aurelia插件?
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
如何申請在應用方法的變化?我似乎無法獲得插件的實例。 – matt
將「apply」的簽名更改爲您需要的任何內容。在我鏈接的例子中,我認爲它是'apply(container)'。 –
我嘗試過,但是當我從frameworkConfig引用容器時,它是未定義的。 – matt