gpt4 book ai didi

Angular2 没有提供渲染器! (NgModel -> token NgValueAccessor -> DefaultValueAccessor -> 渲染器)

转载 作者:太空狗 更新时间:2023-10-29 19:31:26 24 4
gpt4 key购买 nike

我在 shlomiassaf/angular2-modal 中自定义了 customModal.ts 的模态.具体来说,我添加了一个包含 ngModel 的输入,它导入了 FORM_DIRECTIVES 和指令。

运行“没有渲染器提供程序!”时出现的问题(NgModel -> token NgValueAccessor -> DefaultValueAccessor -> 渲染器)'

请帮我解决这个问题。谢谢。

最佳答案

我看到两种可能性:

  • 相应的提供程序未在组件或应用程序级别指定。我不认为这是问题,因为我已经注入(inject)了一个 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) {
(...)
}
}
  • 我认为这是因为渲染器注入(inject)的类没有被修饰,所以依赖注入(inject)不能应用。正如本 comment 所强调的那样,你需要有这个才能注入(inject)。 Injectable 不是用于注入(inject)某物,而是用于注入(inject)自身。

编辑

查看您的代码后,您似乎需要将渲染器添加到提供给 loadNextToLocation 方法的提供程序列表中。您可以像这样更新 DialogService#open 方法的代码:

var otherResolved = Injector.resolve([
provide(DialogRef, { useValue: dialogRef})
provide(Renderer, { useValue: this.renderer})
]);

希望对你有帮助,蒂埃里

关于Angular2 没有提供渲染器! (NgModel -> token NgValueAccessor -> DefaultValueAccessor -> 渲染器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34606534/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com