我在shlomiassaf/angular2-modal中自定义了 customModal.ts 的模态。具体来说,我添加了一个包含 ngModel 的输入,它导入了 FORM_DIRECTIVES 和指令。
运行“没有渲染器提供程序!(NgModel -> Token NgValueAccessor -> DefaultValueAccessor -> Renderer)'
请帮我解决这个问题。谢谢。
我在shlomiassaf/angular2-modal中自定义了 customModal.ts 的模态。具体来说,我添加了一个包含 ngModel 的输入,它导入了 FORM_DIRECTIVES 和指令。
运行“没有渲染器提供程序!(NgModel -> Token NgValueAccessor -> DefaultValueAccessor -> Renderer)'
请帮我解决这个问题。谢谢。
我看到两种可能性:
未在组件或应用程序级别指定相应的提供程序。我不认为是这个问题,因为我已经注入了 aRenderer
而没有在其providers
属性或函数的第二个参数中指定它bootstrap
。
像这样的东西:
import {Component,Renderer,ElementRef} from 'angular2/core';
@Component({
selector: 'child',
template: '<div></div>',
})
export class ChildComponent {
constructor(private _renderer: Renderer,
private el: ElementRef) {
(...)
}
}
Injectable
不是为了注入某物,而是为了注入自身。编辑
查看您的代码后,您似乎需要将渲染器添加到您提供给该loadNextToLocation
方法的提供程序列表中。您可以DialogService#open
像这样更新方法的代码:
var otherResolved = Injector.resolve([
provide(DialogRef, { useValue: dialogRef})
provide(Renderer, { useValue: this.renderer})
]);
希望它可以帮助你,蒂埃里
您可能需要添加组件装饰器
@Component({
providers: [Renderer],
...
)}