【问题标题】:grunt error TS2304 cannot find namegrunt 错误 TS2304 找不到名称
【发布时间】:2015-04-23 15:00:30
【问题描述】:

我正在为error TS2304: Cannot find name 'ICookiesService' 苦苦挣扎。尽管我搜索了解决方案,但我似乎没有找到。我相信参考是正确的。我在 app.ts 中加载了模块 ngCookies 并添加了依赖项。我错过了什么?

非常感谢您的帮助...

我的控制器如下所示:

/// <reference path='loginComponentScope.interface.ts' />
/// <reference path='xxx/angular-cookies.d.ts' />
/// <reference path='xxx/login.service.ts' />

'use strict';
   class LoginComponentController {

    public static $inject = [
      '$scope',
      '$cookies',
      'loginRestService'
    ];

    constructor( 
      private $scope: ILoginComponentScope,
              $cookies: ICookiesService,
              service: LoginService
    ) {
        ...     
        $cookies.put('securityToken', data);
        ...

angular-cookies.d.ts

 /// <reference path="angular.d.ts" />
    declare module "angular-cookies" {
        var _: string;
        export = _;
    }

    declare module angular.cookies {

        interface ICookiesService {
            [index: string]: any;
        }
    ...
    }

【问题讨论】:

    标签: angularjs gruntjs typescript definitelytyped


    【解决方案1】:

    ICookiesService 在命名空间angular.cookies 中声明。您需要通过该命名空间引用它(例如angular.cookies.ICookiesService),或使用import 为其创建一个较短的本地名称(例如import ics = angular.cookies.ICookiesService,然后通过ics 引用它)

    【讨论】:

    • 我明白了...谢谢你瑞恩
    猜你喜欢
    • 2016-12-18
    • 2019-05-06
    • 2019-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-31
    相关资源
    最近更新 更多