【发布时间】:2014-10-05 03:01:31
【问题描述】:
我有一个非常简单的网页:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<title></title>
</head>
<body ng-app="nawApp">
<div ng-controller="StudentUse">
{{fullname}}
</div>
<script src="../Scripts/angular.js"></script>
<script src="../Scripts/angular-route.js"></script>
<script src="../Scripts/app.js"></script>
<script src="StudentUse.js"></script>
<script src="ServiceHttp.js"></script>
</body>
</html>
我有我的控制器StudentUse。
/// <reference path="../scripts/app.ts" />
/// <reference path="ServiceHttp.ts" />
/// <reference path="../scripts/typescript/angular.d.ts" />
/// <reference path="Student.ts" />
module nawApp {
export interface IStundentScope extends ng.IScope {
returnData: string;
}
export class StudentUse {
static $inject = ['$scope', 'ServiceHttp'];
constructor($scope: IStundentScope, private serviceHttp: nawApp.ServiceHttp) {
$scope.returnData = serviceHttp.hello();
}
}
// StudentUse.$inject = ['$scope', 'ServiceHttp'];
nawApp.app.controller('StudentUse', StudentUse);
}
我还有一个名为ServiceHttp.ts的文件,上面的代码用到了这个文件。 “ServiceHttp.ts”将来应该是某种 REST-Interface,但到目前为止它只是返回一个“Hello World”字符串:
/// <reference path="../scripts/app.ts" />
module nawApp {
export class ServiceHttp {
constructor() {}
hello(): string {
return "Hello world";
}
}
nawApp.app.controller('ServiceHttp', ServiceHttp);
}
如果我启动我的网页,切换到开发者控制台,我会收到一条错误消息:
错误:[$injector:unpr] 未知提供者:serviceHttpProvider
我没有进行一些调查,但我看不出有效示例与错误解决方案之间的区别..... :-(
有什么建议吗?
谢谢!
编辑: 这应该是 ServiceHttp.ts 中函数的最终代码:
exampleFunction():string {
this.http.get(URL).success(function (data, status, headers, config) {
try {
return data;
}
catch (err) {
return err;
}
}).error(function (data, status, headers, config) {
return status;
});
return "";
}
【问题讨论】:
-
我推荐这种服务模式:youtube.com/watch?v=Yis8m3BdnEM&hd=1
标签: angularjs dependency-injection typescript