Вопрос:

Aurelia передает конфигурацию плагину или функции

javascript aurelia

490 просмотра

1 ответ

3116 Репутация автора

Я хочу передать некоторую информацию о конфигурации в мою функцию aurelia, но я не уверен, как. Я не нашел документации о том, как это сделать в документах Aurelia.

Моя особенность

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
  }
}
Автор: allencoded Источник Размещён: 22.08.2016 08:35

Ответы (1)


7 плюса

22831 Репутация автора

Решение

featureМетод (и pluginметод) принимают конфигурацию функции специфичной в качестве параметра:

main.js

let scrollbarConfig = { foo: 'bar' };

aurelia.use
  .standardConfiguration()
  .feature('aurelia-scrollbar', scrollbarConfig);

В методе конфигурации вашей функции зарегистрируйте объект конфигурации в контейнере.

Аурелия-полоса прокрутки / index.js

export function configure(frameworkConfiguration, scrollbarConfig) {
  frameworkConfiguration.globalResources('./scrollbar');
  frameworkConfiguration.container.registerInstance('scrollbar-config', scrollbarConfig);
}

Все, что зависит от конфигурации, может использовать контейнер для его извлечения:

Аурелия-полоса прокрутки / scrollbar.js

@inject(Element, 'scrollbar-config')
export class Scrollbar {
  constructor(element, scrollbarConfig) {
    ...
  }
  ...
}

Проблема GitHub для добавления этой информации в документацию Aurelia: https://github.com/aurelia/framework/issues/570

Автор: Jeremy Danyow Размещён: 22.08.2016 09:37
Вопросы из категории :
32x32