ES6地图类型别名不起作用

时间:2016-05-27 07:26:56

标签: typescript typescript1.8

我需要为多个字段收集一些错误,因此结构通常如下所示:

{
  name: { 
    errors: ['error one', 'error two']
  },
  age: {
    errors: ['error three', 'error four']
  }
}

我想要做的是在Typescript中输入内容,所以我做了以下内容:

interface FieldErrors {
  errors: string[]
}

type ErrorsBag = Map<string, FieldErrors>;

遗憾的是,每当我使用new ErrorsBag()编译器时,我都会error TS2304: Cannot find name 'ErrorsBag'正确定义它。当我使用它而没有类型别名(只是new Map<string, FieldErrors>())时,它工作正常。

任何暗示为什么会发生这种情况?

1 个答案:

答案 0 :(得分:2)

  

每当我使用新的ErrorsBag()

var curYPos = 0, curXPos = 0, curDown = false; $('.wall')[0].addEventListener('mousemove', function(e) { if (curDown === true) { window.scrollTo(document.body.scrollLeft + (curXPos - e.pageX), document.body.scrollTop + (curYPos - e.pageY)); } }); $('.wall')[0].addEventListener('mousedown', function(e) { var $target = $(e.target); if (!$target.hasClass('card')) { curDown = true; curYPos = e.pageY; curXPos = e.pageX; } }); $('.wall')[0].addEventListener('mouseup', function(e) { curDown = false; }); $(function() { for (var i = 1; i <= 8; i++) { $("#list" + i).sortable({ connectWith: "#list1, #list2, #list3, #list4, #list5, #list6, #list7, #list8" }).disableSelection(); } });没有创建变量它只会为类型注释目的创建类型系统的类型。 some docs