【问题标题】:angular material design with typescript带有打字稿的角度材料设计
【发布时间】:2017-01-12 04:45:42
【问题描述】:

我是打字稿的新手,打字。模糊理解类型定义并尝试使用打字稿和角度材料设计设置角度 1.5 项目。

我在类型>全局>角材料中有角材料类型定义。 我不知道我可以导入什么模块以及在哪里检查。如果我像下面的例子一样,我得到一个例外:模块'材料'不可用!

import * as angular from 'angular';
import * as material from 'angular-material';

angular.module('app.services', []);
angular.module('app', ['app.services', 'material']);

types>globals>angular-material 中 index.d.ts 的顶部是

declare module 'angular-material' {
    var _: string;
    export = _;
}

declare namespace angular.material { ...}

提前致谢。

【问题讨论】:

    标签: javascript angularjs typescript angular-material


    【解决方案1】:

    应该是这样的,

    angular.module('app.services', []);
    angular.module('app', ['app.services', 'ngMaterial']);
    

    【讨论】:

    • 导入语句应该是什么?从“角度材料”导入 ngMaterial;
    • 应该是 import ngMaterial from 'angular-material';
    • 它给出错误:模块 ''angular-material'' 没有默认导出。
    【解决方案2】:

    你不应该从 'angular-material' 导入 只需添加对类型的引用:

    /// <reference path="../typings/angular-material/angular-material.d.ts" />
    

    (请务必先安装 angular-materials 的类型)

    然后使用:

    angular.module('app.services', []);
    angular.module('app', ['app.services', 'ngMaterial']);
    

    【讨论】:

      【解决方案3】:

      例如,在定义材料提供者时,您应该删除单引号

      import * angular from 'angular';
      import * as material from 'angular-material';
      
      angular.module('app.services', []);
      angular.module('app', ['app.services', material]);
      

      这将解决您的问题。

      对于导入材料样式表,您可以使用以下代码。

      import 'angular-material/angular-material.css';
      

      对于没有类型定义的库,您可以使用以下代码。

      import * as angular from 'angular';
      require('../../../node_modules/angular-messages');
      
      angular.module('app.services', []);
      angular.module('app', ['app.services', 'ngMessages']);
      

      注意:这里你应该使用字符串来定义提供者

      【讨论】:

        【解决方案4】:

        小,希望有用,补充(我最近遇到的经验)。如果您需要在 TS 单元测试中使用 angular-material,您也需要将其导入到规范文件中(而在主代码中,您只需导入一次并在主模块中设置为依赖项)。然后在顶部 import 'angular-material'; 就足够了,并为必要的服务添加相应类型的变量,例如let dialog:ng.material.IDialogService;

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-09-17
          • 2015-10-16
          • 2015-07-28
          • 2019-02-28
          • 1970-01-01
          • 1970-01-01
          • 2021-01-02
          • 1970-01-01
          相关资源
          最近更新 更多