【问题标题】:How to access function in typescript?如何访问打字稿中的功能?
【发布时间】:2017-12-19 07:30:40
【问题描述】:

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

这是我的源代码:

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

【问题讨论】:

    标签: angular function typescript ionic2


    【解决方案1】:

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

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

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

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

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

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

    【讨论】:

      【解决方案2】:

      如果你将类导入另一个文件,你可以通过这样做来使用该函数

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

      【讨论】:

        猜你喜欢
        • 2020-10-03
        • 2016-09-07
        • 2019-08-12
        • 2022-01-24
        • 2019-01-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-27
        相关资源
        最近更新 更多