@ n00dl3 Большое спасибо, я потратил на это почти полдня при обновлении огромного приложения с 2.4> 4.0. Странно, ошибка появляется сейчас, но раньше не выводилась ..
бовал несколько решений этой ошибки, но не нашел никакого успешного способа преодолеть это:Нет провайдера для TemplateRef!
Журнал ошибок:
ИСКЛЮЧЕНИЕ: Uncaught (в обещании): Ошибка: Ошибка в классе ./FooterComponent FooterComponent - встроенный шаблон: 15: 20, вызванный: Нет поставщика для TemplateRef! Ошибка: ошибка в классе ./FooterComponent FooterComponent - встроенный шаблон: 15: 20, вызванный: Нет поставщика для TemplateRef!
Необработанное Отклонение обещания: ошибка в классе ./FooterComponent FooterComponent - встроенный шаблон: 15: 20, вызванный: Нет поставщика для TemplateRef! ; Зона: угловая; Задача: Promise.then; Значение:
footer.component.ts
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'sa-footer',
templateUrl: './footer.component.html'
})
export class FooterComponent implements OnInit {
constructor() {}
ngOnInit() {}
}
footer.component.html
<div class="page-footer">
<div class="row">
<div class="col-xs-12 col-sm-6">
<span class="txt-color-white">myAPP © 2016</span>
</div>
<div class="col-xs-6 col-sm-6 text-right hidden-xs">
<div class="txt-color-white inline-block">
<i class="txt-color-blueLight hidden-mobile">Last account activity <i class="fa fa-clock-o"></i>
<strong>52 mins ago </strong> </i>
<div class="btn-group dropup" dropdown>
<button class="btn btn-xs dropdown-toggle bg-color-blue txt-color-white" dropdownToggle>
<i class="fa fa-link"></i> <span class="caret"></span>
</button>
<ul class="dropdown-menu pull-right text-left" dropdownMenu>
<li>
<div class="padding-5">
<p class="txt-color-darken font-sm no-margin">Download Progress</p>
<div class="progress progress-micro no-margin">
<div class="progress-bar progress-bar-success" style="width: 50%;"></div>
</div>
</div>
</li>
<li class="divider"></li>
<li>
<div class="padding-5">
<p class="txt-color-darken font-sm no-margin">Server Load</p>
<div class="progress progress-micro no-margin">
<div class="progress-bar progress-bar-success" style="width: 20%;"></div>
</div>
</div>
</li>
<li class="divider"></li>
<li>
<div class="padding-5">
<p class="txt-color-darken font-sm no-margin">Memory Load <span class="text-danger">*critical*</span>
</p>
<div class="progress progress-micro no-margin">
<div class="progress-bar progress-bar-danger" style="width: 70%;"></div>
</div>
</div>
</li>
<li class="divider"></li>
<li>
<div class="padding-5">
<button class="btn btn-block btn-default">refresh</button>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
Я пытался сделать следующее:
Исследование: Но нашли только ответы / решения для шаблонов, которые на самом деле содержат некоторые директивы, такие какngIf
, ngSwitch
и т. д. (забывая*
, например)
добавлятьTemplateRef
вproviders
, Вот что я получаю:
Аргумент типа '{селектор: строка; templateUrl: строка; провайдеры: typeof TemplateRef []; } 'нельзя назначить параметру типа «Компонент». Типы поставщиков недвижимости несовместимы. Тип typeof TemplateRef [] нельзя назначить типу Provider []. Тип typeof TemplateRef нельзя назначить типу Provider. Тип typeof TemplateRef нельзя назначить типу FactoryProvider. Свойство 'предоставить' отсутствует в типе 'typeof TemplateRef'.
Постараюсь посмотреть как добавитьTemplateRef
к модулю приложенияproviders
, Но я не знаю, является ли это решением. Я надеюсь, что кто-то найдет решение, пока я продолжаю исследования.
Спасибо! : D