【发布时间】:2017-03-22 22:28:13
【问题描述】:
我有一个服务定义如下。
import { Injectable } from "@angular/core";
import { Http } from "@angular/http";
@Injectable()
export class SirService {
constructor(private http: Http) {
console.log("The http is: " + http);
}
stuff() { return ["uno", "duo", "tress"]; }
}
然后,我将组件的提供者设置为这样的服务。
import { Component } from "@angular/core";
import { SirService } from "../app.service";
@Component({
selector: "demo",
providers: [SirService],
template: require("./demo.html"),
styles: [require("./common.scss")]
})
export class Demo {
// constructor() {
constructor(private service: SirService) {
console.log("Service: " + service);
}
}
不过,我不确定如何访问服务中的stuff() 调用。上面产生的错误告诉我 Angular 找不到任何有意义的东西来推入我的构造函数。当我使用无参数构造函数时,我没有对服务的引用。有点卡在那里,似乎很少有例子展示如何为组件而不是模块执行此操作......(我可能在谷歌上愚蠢地搜索......)
错误消息很庞大,但这是最相关的部分(据我所知)。
未处理的 Promise 拒绝:没有 Http 提供者! ;区域:角度;任务:Promise.then;值:
【问题讨论】:
-
当您询问错误时,请发布错误。完整而准确的错误。
-
@JBNizet 我没有问这样的错误,因为与资源相比,语法应该是正确的,但我同意它可能有用。请在 5 分钟内查看编辑。谢谢指点。
-
@JBNizet 已发布。它的全部内容太大而无法显示,但编辑显示了有趣的部分。
标签: angular typescript