我正在使用打字稿开发混合应用程序,我想知道如何访问打字稿中的函数。
这是我的源代码:
export class SuccessPage {
public removeRoom(){
console.log("removeroom");
}
}
function getRoom(){
var searchList = '';
....
searchList += ' <li id=\'' + result.Item[0].room_num + '\'>';
searchList += result.Item[i].dest_x + ', ' + result.Item[0].dest_y +
'<br><button class="removeRoom" onclick="removeRoom()"> </button></li>';
....
}
我打算访问removeRoom
函数。我怎样才能做到这一点?
答案 0 :(得分:1)
它看起来不像一个正确的架构(稍后会详细介绍),但要回答你的问题,你可以做以下两件事之一:
保持removeRoom
方法不变,并在其他地方使用它,您必须创建SuccessPage
类的实例,即:
const page = new SuccessPage();
page.removeRoom();
或制作removeRoom
方法static
并在不创建实例的情况下使用它:
static removeRoom() {...}
/* ... *./
SuccessPage.removeRoom()
(请注意,如果方法不适用于实例字段(即内部没有static
或this.something
,则this.doSomething()
只是一个选项。
好的,回到&#34;架构&#34;事情。如果removeRoom
方法没有对类实例的任何引用,并且你确实需要从其他地方访问它,也许最好单独定义它 - 只是一个自治辅助函数(你可以使用它)直接来自组件和js代码)或作为Angular服务的一部分(在这种情况下,您再次必须创建服务的实例以在Angular组件之外的js代码中使用它)
答案 1 :(得分:0)
如果将类导入另一个文件,则可以通过执行
来使用该功能import SuccessPage from './SuccessPage';
const page = new SuccessPage()
page.removeRoom()