我需要为多个字段收集一些错误,因此结构通常如下所示:
{
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>()
)时,它工作正常。
任何暗示为什么会发生这种情况?
答案 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