Вызов JavaScript непосредственно из машинописи

голоса
18

Я просто скачал документацию машинописи. У меня есть некоторые классы JavaScript, и я хотел бы создать и использовать эти класса в тестируемом приложении машинописи

Как я могу вызвать функцию JavaScript из включенного JavaScript из машинописи. Я не хочу, чтобы создать файл «d.ts». Просто, чтобы создать свои классы, вызывать его методы, доступ к его свойствам.

Как мне это сделать?


Я пытаюсь использовать kendoUI с машинопись.

Например, чтобы показать окно я должен сделать:

  1. Иметь HTML для представления содержимого окна. У меня есть DIV с идентификатором logonDialog. Этот DIV
    изначально скрыт;
  2. Я создаю окно: logonDlg.kendoWindow (logOnParams);
  3. Затем с помощью JQuery я показать DIV: с помощью logonDlg.show();

пример

var logonDlg = $(logonDialog);

if (!logonDlg.data(kendoWindow)) {
   logonDlg.kendoWindow(logOnParams);
   logonDlg.show();
}

Она работает нормально. JS генерируется, как я хочу, но я получаю сообщение об ошибке, так как свойство «kendoWindow» не существует на значение типа «JQuery».

Как я могу отключить этот вид ошибки. Я не мог сделать, что Райан сказал, чтобы работать.

Задан 03/10/2012 в 15:45
источник пользователем
На других языках...                            


4 ответов

голоса
22

Если вы хотите, чтобы остановить ошибки, не делая много еще дополнительную работу, вы можете «объявить» объекты из вашего кода JS:

declare var w; // implicit type here is 'any'
// (later, anywhere in your file...)
var x = new w(); // you can do whatever you want with w now without getting errors
w.x = 4; // etc.
Ответил 03/10/2012 в 16:18
источник пользователем

голоса
8

Существует лучшее решение. Просто бросить JQuery logonDlg любому, как это:

(<any>logonDlg).kendoWindow(logOnParams);

Код будет немного отличаться, но будет работать так же.

  1. Без литая го сгенерированного кода, как это: logonDlg.kendoWindow (logOnParams);
  2. С броском будет выглядеть следующим образом : (logonDlg) .kendoWindow (logOnParams);

Оба работают нормально.

С уважением

Ответил 05/10/2012 в 18:02
источник пользователем

голоса
5

Вы просто сделать это. Машинопись не остановит вас. Вы увидите предупреждение в выводе компилятора , но tscбудет генерировать файл JS просто отлично.

Ответил 03/10/2012 в 15:50
источник пользователем

голоса
4

В данном конкретном случае , можно просто включить определения Кендо UI машинопись , что Telerik предоставляет.

(Я понимаю, что этот вопрос был задан назад, когда определения TS, вероятно, не были еще существуют, но хотели бы добавить эту деталь для людей, которые приходят по этому вопросу в будущем.)

Ответил 30/03/2015 в 12:28
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more