Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用TypeScript编写的AngularJS控制器中的服务注入问题_Javascript_Angularjs_Controller_Typescript_Code Injection - Fatal编程技术网

Javascript 用TypeScript编写的AngularJS控制器中的服务注入问题

Javascript 用TypeScript编写的AngularJS控制器中的服务注入问题,javascript,angularjs,controller,typescript,code-injection,Javascript,Angularjs,Controller,Typescript,Code Injection,我想将自编服务CalculatorService.ts注入名为StringCalculatorController.ts的自编AngularJS控制器中 我的计算器服务如下所示: /// <reference path="../typescript_definitions/angular.d.ts" /> module CalculatorModule { export class CalculatorService { // implementation

我想将自编服务
CalculatorService.ts
注入名为
StringCalculatorController.ts
的自编AngularJS控制器中

我的计算器服务如下所示:

/// <reference path="../typescript_definitions/angular.d.ts" />

module CalculatorModule {
    export class CalculatorService {

        // implementation stuff....

    }

}

var app = angular.module("AngularCalculatorModule", []);
app.service("calculatorService", CalculatorModule.CalculatorService);

有人能帮我吗?

你定义了两次角度模块
角度计算器模块
,也就是说,你有这条线

var app = angular.module("AngularCalculatorModule", []);
在两个typescript文件中

创建角度模块
angular.module(“AngularCalculatorModule”,[])在单独的文件中,例如,您也可以将配置或其他初始化内容放在那里。然后在
angular.js
包含之后立即包含此文件

之后只需使用
angular.module(“AngularCalculatorModule”).controller(…)
(注意缺少的
[]
=模块依赖项数组)

Error: [$injector:unpr] Unknown provider: calculatorServiceProvider <- calculatorService <- StringCalculatorController
http://errors.angularjs.org/1.4.8/$injector/unpr?p0=calculatorServiceProvider%20%3C-%20calculatorService%20%3C-%20StringCalculatorController
    at angular.js:68
    at angular.js:4334
    at Object.getService [as get] (angular.js:4482)
    at angular.js:4339
    at getService (angular.js:4482)
    at Object.invoke (angular.js:4514)
    at extend.instance (angular.js:9182)
    at nodeLinkFn (angular.js:8299)
    at compositeLinkFn (angular.js:7731)
    at compositeLinkFn (angular.js:7734)
<!DOCTYPE html>
<head>
    <meta charset="utf-8">
    <script src="bower_components/angular/angular.js"></script>
    <script src="src/CalculatorService.js"></script>
    <script src="src/StringCalculatorController.js"></script>
</head>
<body ng-app="AngularCalculatorModule">
    <div ng-controller="StringCalculatorController">
    </div>
</body>
</html>
var app = angular.module("AngularCalculatorModule", []);