如何在一条注入语句中注入$scope、$http、$q、$location这四个变量

How to inject these four $scope, $http, $q, $location in a single inject statement

本文关键字:注入 变量 四个 location http 语句 一条 scope      更新时间:2023-09-26

我想尝试在typescript的单个注入语句中注入这一切,但它在最后一个注入中显示错误。这里$location注入是未定义的,如果我用$scope替换最后(第4)(将$scope交换到$location),那么$scope是未定义的,显示在chrome开发工具调试时间。

打印稿代码:

module app.common {
'use strict';    
export class StatisticalPortalService {
static $inject = ['$scope', '$q', '$http', '$location'];
constructor(private $scope,
                    private $q,
                    private $http,
                    private $location) {

编译javascript代码

var app;
(function (app) {
    var common;
    (function (common) {
        'use strict';
        var StatisticalPortalService = (function () {
            function StatisticalPortalService($scope, $q, $http, $location) {
                var _this = this;
                this.$scope = $scope;
                this.$q = $q;
                this.$http = $http;
                this.$location = $location;

你所做的应该可以正常工作。我注意到$inject数组中多了一个逗号。是这个还是打错了?

尝试指定四种类型$:

module app.common {
'use strict';    
export class StatisticalPortalService {
static $inject = ['$scope', '$q', '$http', '$location'];
constructor(private $scope:any,
                    private $q:ng.IQService,
                    private $http:ng.IHttpService,
                    private $location:ng.ILocationService) {