javascript – Aurelia将配置传递给插件或功能
作者:互联网
我想将一些配置信息传递给我的aurelia功能,但我不知道如何.我在aurelia docs中找不到关于这是怎么做的文档.
我的特色
Main.js
.feature('aurelia-scrollbar', config => {
// I want to pass an object along this
config.foo = { bar: 'yay' }
})
Index.js
export function configure(config) {
config.globalResources('./scrollbar');
}
Scrollbar.js
import Scrollbar from 'smooth-scrollbar';
import 'smooth-scrollbar/dist/smooth-scrollbar.css!';
export class ScrollbarCustomAttribute {
static inject = [Element];
constructor(element) {
this.element = element;
}
attached() {
Scrollbar.init(this.element); // I want to use the passed configuration option here
}
}
解决方法:
功能方法(和插件方法)将接受特定于功能的配置作为参数:
main.js
let scrollbarConfig = { foo: 'bar' };
aurelia.use
.standardConfiguration()
.feature('aurelia-scrollbar', scrollbarConfig);
在功能的configure方法中,在容器中注册config对象.
Aurelia路上,滚动条/ index.js
export function configure(frameworkConfiguration, scrollbarConfig) {
frameworkConfiguration.globalResources('./scrollbar');
frameworkConfiguration.container.registerInstance('scrollbar-config', scrollbarConfig);
}
依赖于配置的任何东西都可以使用容器来检索它:
Aurelia路上,滚动条/ scrollbar.js
@inject(Element, 'scrollbar-config')
export class Scrollbar {
constructor(element, scrollbarConfig) {
...
}
...
}
GitHub问题将此信息添加到Aurelia文档:https://github.com/aurelia/framework/issues/570
标签:javascript,aurelia 来源: https://codeday.me/bug/20190727/1554188.html