Как понизить пользовательский канал, написанный на angular2, для использования в angular 1.5?

Я написал компонент, который использует трубу в Angular 2. Теперь я пытаюсь понизить компонент, который будет использоваться в моем Angular 1.5:

angular.module('myApp')
    .directive('Item', downgradeComponent({component: ItemComponent, inputs: ['item'], outputs: ['onTagRemoved'] }) as angular.IDirectiveFactory);

Шаблон моего ItemComponentиспользует новую трубу. Во время понижения я получаю сообщение об ошибке по этому каналу.

systemjs.import error: Error: (SystemJS) Can't resolve all parameters for tagPipe: (?).

Нужно ли понизить трубу до? Как? Ничего не нашел при поиске труб понижения.

2 ответа

Решение

Вы не можете понизить трубы - переписать это. Смотрите презентацию от NG-CONF 2017:

https://www.slideshare.net/jawache/migrating-from-angularjs-when-you-cant-use-the-word-big-bang

https://www.youtube.com/watch?v=4p1jG2QNc4U

Вы можете понизить версию канала следующим образом, если хотите использовать его программно:

      angular.module('myApp')
  .factory('myCustomPipe', downgradeInjectable(MyCustomPipe))

Ваш канал должен быть объявлен в провайдерах вашего углового модуля:

      @NgModule({
  declarations: [
    MyCustomPipe
  ],
  exports: [
    MyCustomPipe
  ],
  providers: [
    MyCustomPipe
  ]
})
export class AppModule {
}
Другие вопросы по тегам