2017-07-14 63 views
-2

我正在開發混合應用程序使用打字稿,我不知道如何訪問打字稿中的功能。如何訪問打字稿中的功能?

這是我的源代碼:

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

如果導入類到另一個文件中,你可以通過做

import SuccessPage from './SuccessPage'; 

const page = new SuccessPage() 
page.removeRoom() 
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代碼中使用它)

+0

我試過但不工作:(但thx! –