我正在使用打字稿开发混合应用程序,我想知道如何访问打字稿中的函数。
这是我的源代码:
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
功能。我怎样才能做到这一点?
它看起来不像一个正确的架构(稍后会详细介绍),但要回答您的问题,您可以做以下两件事之一:
-
保持
removeRoom
方法不变,并在其他地方使用它,您必须创建一个SuccessPage
类的实例,即:const page = new SuccessPage(); page.removeRoom();
-
或者使
removeRoom
方法static
并在不创建实例的情况下使用它:static removeRoom() {...} /* ... *./ SuccessPage.removeRoom()
(请注意,仅当该方法不适用于实例字段(即内部没有
this.something
或this.doSomething()
)时,static
才是一个选项。
好的,回到"架构"的事情。如果removeRoom
方法没有任何对类实例的引用,并且您确实需要从其他地方访问它,也许最好单独定义它 - 只是一个自主辅助函数(您可以直接从组件和 js 代码中使用)或作为 Angular 服务的一部分(在这种情况下,您会, 同样,必须创建一个服务的实例才能在 Angular 组件之外的 js 代码中使用它)
如果将类导入到另一个文件中,则可以通过以下方式使用该函数
import SuccessPage from './SuccessPage';
const page = new SuccessPage()
page.removeRoom()