【问题标题】:Typescript + requirejs: How to handle circular dependencies?Typescript + requirejs:如何处理循环依赖?
【发布时间】:2014-07-29 01:47:04
【问题描述】:

我正在将我的 JS+requirejs 代码移植到 typescript+requirejs。 我还没有找到如何处理的一种情况是循环依赖。

Require.js 在也依赖于当前的模块上返回 undefined,您可以这样做:

MyClass.js

define(["Modules/dataModel"], function(dataModel){
  return function(){
    dataModel = require("Modules/dataModel");
    ...
  }
});

现在在打字稿中,我有:

MyClass.ts

import dataModel = require("Modules/dataModel");

class MyClass {

  dataModel: any;

  constructor(){

    this.dataModel = require("Modules/dataModel"); // <- this kind of works but I lose typechecking
    ...
  }
}

如何再次调用 require 并保持 typescript 的类型检查优势? dataModel 是一个模块 { ... }

【问题讨论】:

    标签: requirejs typescript


    【解决方案1】:

    使用从import 获得的内容指定类型,即

    import dataModelType = require("Modules/dataModel");
    
    class MyClass {
    
      dataModel: typeof dataModelType;
    

    【讨论】:

      猜你喜欢
      • 2014-09-22
      • 2011-06-20
      • 2016-05-02
      • 1970-01-01
      • 2011-07-26
      • 2019-12-09
      • 2015-01-04
      • 2018-10-05
      • 2014-08-02
      相关资源
      最近更新 更多