Вызов машинописного кода из JavaScript не работает в ионном - PullRequest
0 голосов
/ 11 января 2019

Я пытаюсь вызвать метод машинописи из метода Javascript в IONIC. Но метод машинописи не вызывается. Я создал плагин Cordova в IONIC, который будет возвращать результат в Javascript метод успеха или сбоя. Из метода успеха я хотел бы вызвать метод машинописи, чтобы перейти на другую страницу в ионном режиме. Пожалуйста, дайте мне знать, как вызвать машинопись из Javascript.

Фрагмент кода:

var success= function(){
    alert("JS method called");.       // alert displayed 
    typescriptMethod();.         // Defined in class of typescript
}

Class MainClass
{
     constructor()
     {
         success();.   // JS method called 
     }
     typescriptmethod()
     {
         alert("typescript method called");.   // alert not displayed
     }
}

Спасибо

Ответы [ 2 ]

0 голосов
/ 11 января 2019

Вы должны понимать, что TypeScript не является отдельным языком программирования. Он поставляется поверх JavaScript как надмножество (что означает, что после написания и компиляции программы TypeScript она, по сути, является программой JavaScript). Вы можете легко попытаться написать эквивалентный код JavaScript, если хотите добиться цели. Если вы пойдете на площадку TypeScript, вы действительно сможете быстро перенести код TS в код JS (если, конечно, не слишком сложный). Как бы то ни было, немного освежите в памяти то, как вы можете достичь того, что вы просили:

     var success = function () {
    alert("JS method called");
    typescriptMethod();
};
var MainClass = /** @class */ (function () {
    function MainClass() {
        success();
    }
    MainClass.prototype.typescriptmethod = function () {
        alert("typescript method called");
    };
    return MainClass;
}());

Это приведет к ошибке, что typescripmethod () не определен, поэтому вы можете сделать его статическим (код JS):

var MainClass = /** @class */ (function () {
    function MainClass() {
        success(); // JS method called 
    }
    MainClass.typescriptMethod = function () {
        alert("typescript method called");
    };
    return MainClass;
}());
var success = function () {
    alert("JS method called"); // alert displayed 
    MainClass.typescriptMethod(); // Defined in class of typescript
};
success();

Или используйте экземпляр класса (код JS):

var MainClass = /** @class */ (function () {
    function MainClass() {
        success(this); // JS method called 
    }
    MainClass.prototype.typescriptMethod = function () {
        alert("typescript method called");
    };
    return MainClass;
}());
var success = function (instance) {
    alert("JS method called"); // alert displayed 
    instance.typescriptMethod(); // Defined in class of typescript
};
success(new MainClass());

Надеюсь, это поможет вам.

0 голосов
/ 11 января 2019

Вы не можете позвонить typescript код из javascript код.

typescript код компилируется в javascript. Вы можете вызвать эквивалентный код JavaScript вашего typescript кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...