gpt4 book ai didi

javascript - 从 ionic2 中的 javascript 访问 typescript 方法

转载 作者:搜寻专家 更新时间:2023-10-30 21:29:42 24 4
gpt4 key购买 nike

我很想在 ionic2 中从 javascript 调用 typescript 方法。让我们考虑一个由“ionic g page MyPage”生成的 ionic2 页面,我在其中创建了一个方法 myNewMethod。

有什么方法可以从作为 cordova 插件一部分的 javascript 函数调用 myNewMethod"吗?我注意到在 main.js 中,正如在 javascripte 中转换的那样,有一个变量 MyPage 并且 myNewMethod 被定义为原型(prototype)。但是,如果我调用 MyPage.myNewMethod 似乎不起作用。

我进一步注意到以下部分代码:

/* 312 */
(function(module, __webpack_exports__, __webpack_require__) {

"use strict";
var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(136);
__webpack_require__.d(__webpack_exports__, "a", function() { return MyPage; });
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};


var MyPage = (function () {
function MyPage(navCtrl, navParams) {
this.navCtrl = navCtrl;
this.navParams = navParams;
}
MyPage.prototype.ionViewDidLoad = function () {
console.log('ionViewDidLoad MyPage');
};
MyPage.prototype.myNewMethod = function () {
//do stuff
};
MyPage = __decorate([
__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["B"])({
selector: 'page-add-item',template:'Some Template'
}),
__metadata('design:paramtypes', [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["d"], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["e"]])
], MyPage);
return MyPage;
}());


}),

好像MyPage的作用域不是直接可用的,是通过webpack_requare返回的

如有任何帮助,我们将不胜感激。

谢谢

最佳答案

自从我将 MyPage 公开以来,这可能不是最好的方法,但至少它有效。我所做的是将 MyPage 分配给窗口变量,即在 ionViewDidLoad 期间我写道:

eval('window.MyPage = this');

MyMethod 被认为是一个原型(prototype),因此我可以通过以下方式从 javascript 代码中调用它:

window.MyPage.MyMethod();

关于javascript - 从 ionic2 中的 javascript 访问 typescript 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43346711/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com