У меня есть проект, написанный в машинописном тексте v.1.4 «ECMA6», и я хочу использовать «async» только из-за того, что некоторые вычисления должны быть асинхронными.Changed Typcript-Version
Но после того, как я обновил свою версию в 1,8 версии в Visual Studio 2013, у меня возникли большие проблемы с расширенными классами, и я понятия не имею, почему?
Исключение я получаю:
конструктор класса «XYZ» не может быть использовано без «новых»
Классы выглядит как расширения б, б продлить с ...
class XavObject {
constructor() { }
}
class XavWidget extends XavObject {
constructor(control: JQuery, name?: string, id?: number) {
super();
}
}
class Widget_ConstructionKitContainer extends XavWidget {
constructor(control: JQuery, controlName: string) {
super(control, controlName, 1); // ---> here throws the exception
}
}
Зачем возникает это исключение и что я могу сделать для его решения?
EDIT: Я стараюсь дать больше информации ...
У меня есть веб-сервиса, написанный на C# Wich делает .js-файлы из .ts-файлы доступны. Что-то вроде «http://localhost:8080/DLLName/XavObject.js»
Так что HTML выглядит следующим образом:
<script src="XavObject.js"></script>
<script src="XavWidget.js"></script>
<script src="Widget_ConstructionKitContainer.js"></script>
<script>
xavManager.jQuery(document).ready(function() {
var constructionKitContainer =
new Widget_ConstructionKitContainer(
xavManager.jQuery('#ConstructionKitContainer'),
"ConstructionKitContainer",
xavManager.jQuery('#regionSelector'),
xavManager.jQuery('#regionConfigurator'),
xavManager.jQuery('#regionContainer'),
xavManager.jQuery('#Preview'),
xavManager.jQuery('#ThreeDContainer'),
xavManager.jQuery('#MainThreeD'),
xavManager.jQuery('#NavThreeD'),
[xavManager.jQuery('#ModelTypAuswahl'),
xavManager.jQuery('#ModelformAuswahl'),
xavManager.jQuery('#WandArtikelAuswahl'),
xavManager.jQuery('#EbeneAuswahl'),
xavManager.jQuery('#ElementAuswahl'),
xavManager.jQuery('#MaterialAuswahl'),
xavManager.jQuery('#SetArtikelAuswahl'),
xavManager.jQuery('#GriffArtikelAuswahl')],
constanten
);
});
</script>
После того, как я называю эту страницу, последний сценарий выполняется и бросает исключение.
The Structure of the Project looks like:
Так три класса находятся в трех файлах и два из них в том же libori, другой один в другой.
EDIT Ч.2:
После того как я перезагрузил свой компьютер это сообщение об ошибке исчезает ... Но появляется другая ошибка в некоторых JS-файла ....
Ошибка синтаксиса ТОЛЬКО В JS-FILE Он не может скомпилировать один файл
class SelectionRules extends ValidationRules {
protected _getNewTimedOutObject(): ValidationRules_TimeoutItem_Calculate|SelectionRules_TimeoutItem_Calculate {
return new SelectionRules_TimeoutItem_Calculate();
}
}
class SelectionRules_TimeoutItem_Calculate extends ValidationRules_TimeoutItem_Calculate {
public liElement: HTMLElement;
}
class ValidationRules_TimeoutItem_Calculate {
public Timeout: number;
public Setting: Widget_ConfiguratorBase_Object_Setting;
public SearchString: string;
public ErrorText: string;
public Value: string = "";
public DataElement: Widget_Article_Setting;
public ContainerEntryIndex: number;
}
Это потому, что эта часть? ValidationRules_TimeoutItem_Calculate | SelectionRules_TimeoutItem_Calculate
Но почему эти линии работают с машинопись 1.4?
Может быть, ошибка где-то еще, но я не понимаю, почему возникает эта ошибка .... Другой вопрос: почему эта ошибка возникла после того, как я изменил версию? С 1.4 все в порядке .... – Cogeck
Это ошибка компиляции? Я думаю, вы должны опубликовать больше кода, код, который вы опубликовали, работает и компилируется на машинописной площадке. Единственное, что приходит мне на ум, это то, что у вас есть проблема с 'export', и ваши классы больше не доступны снаружи, где они определены – iberbeu
Я надеюсь, что редактирование поможет – Cogeck