如何访问打字稿中的功能



我正在使用打字稿开发混合应用程序,我想知道如何访问打字稿中的函数。

这是我的源代码:

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功能。我怎样才能做到这一点?

它看起来不像一个正确的架构(稍后会详细介绍),但要回答您的问题,您可以做以下两件事之一:

  1. 保持removeRoom方法不变,并在其他地方使用它,您必须创建一个SuccessPage类的实例,即:

    const page = new SuccessPage();
    page.removeRoom();
    
  2. 或者使removeRoom方法static并在不创建实例的情况下使用它:

    static removeRoom() {...} 
    /* ... *./
    SuccessPage.removeRoom()
    

    (请注意,仅当该方法不适用于实例字段(即内部没有this.somethingthis.doSomething())时,static才是一个选项。

好的,回到"架构"的事情。如果removeRoom方法没有任何对类实例的引用,并且您确实需要从其他地方访问它,也许最好单独定义它 - 只是一个自主辅助函数(您可以直接从组件和 js 代码中使用)或作为 Angular 服务的一部分(在这种情况下,您会, 同样,必须创建一个服务的实例才能在 Angular 组件之外的 js 代码中使用它)

如果将类导入到另一个文件中,则可以通过以下方式使用该函数

import SuccessPage from './SuccessPage';
const page = new SuccessPage()
page.removeRoom()

相关内容

  • 没有找到相关文章

最新更新