我在shlomiassaf/angular2-modal中自定义了customModal.ts模式。 具体来说,我添加一个包含ngModel的输入,它导入了FORM_DIRECTIVES和指令。
运行时的问题'没有呈现器的提供者! (NgModel - > Token NgValueAccessor - > DefaultValueAccessor - > Renderer)'
请帮我解决这个问题。 感谢。
答案 0 :(得分:1)
我看到两种可能性:
未在组件或应用程序级别指定相应的提供程序。我没有想到这个问题,因为我已经注入Renderer
而没有在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})
]);
希望它可以帮到你, 亨利
答案 1 :(得分:0)
您可能需要添加组件装饰器
@Component({
providers: [Renderer],
...
)}