gpt4 book ai didi

typescript - Angular 没有 NameService 的提供者

转载 作者:太空狗 更新时间:2023-10-29 16:44:03 25 4
gpt4 key购买 nike

我在将类加载到 Angular 组件时遇到问题。很长一段时间以来,我一直在努力解决它;我什至尝试将它们全部合并到一个文件中。我拥有的是:

Application.ts

/// <reference path="../typings/angular2/angular2.d.ts" />

import {Component,View,bootstrap,NgFor} from "angular2/angular2";
import {NameService} from "./services/NameService";

@Component({
selector:'my-app',
injectables: [NameService]
})
@View({
template:'<h1>Hi {{name}}</h1>' +
'<p>Friends</p>' +
'<ul>' +
' <li *ng-for="#name of names">{{name}}</li>' +
'</ul>',
directives:[NgFor]
})

class MyAppComponent
{
name:string;
names:Array<string>;

constructor(nameService:NameService)
{
this.name = 'Michal';
this.names = nameService.getNames();
}
}
bootstrap(MyAppComponent);

services/NameService.ts

export class NameService {
names: Array<string>;
constructor() {
this.names = ["Alice", "Aarav", "Martín", "Shannon", "Ariana", "Kai"];
}
getNames()
{
return this.names;
}
}

我不断收到一条错误消息,提示 No provider for NameService

有人可以帮我找出代码中的问题吗?

最佳答案

你必须使用 providers 而不是 injectables

@Component({
selector: 'my-app',
providers: [NameService]
})

Complete code sample here .

关于typescript - Angular 没有 NameService 的提供者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30580083/

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