Нет провайдера для TemplateRef!(«*» не пропущено) - PullRequest
0 голосов
/ 21 декабря 2018

Я получаю следующую ошибку: No provider for TemplateRef!

Я создал пользовательскую структурную директиву, которая работает примерно так же, как ngIf, но оценивает Observable, а не выражение.Директива является частью модуля, который я пытаюсь построить как независимую библиотеку.

Директива отлично работает (с ng serve) в моей рабочей области, содержащей библиотеку.

Но когда я собираю библиотеку с ng build lib-name и устанавливаю ее в другом локальном проекте с npm install path/to/built/lib, я получаю вышеупомянутую ошибку.

Вещи, которые я пробовал / проверял:

  • Я убедился, что * присутствует
  • Мой модуль импортирует CommonModule

Вот StackBlitz работающегокод.Структура здесь отличается от моей локальной, но код такой же.feat.* - это библиотека, которую я пытаюсь создать.

Моя локальная структура:

root
  - projects
    - feat
      - src
        - lib
          feat.directive.ts
          feat.service.ts
          feat.module.ts
  - src

1 Ответ

0 голосов
/ 26 декабря 2018

я думаю, вам нужно создать createEmbeddedView для рендеринга html, перейдите по ссылке https://medium.com/@adrianfaciu/creating-structural-directives-in-angular-ff17211c7b28

...