2017-10-13 207 views
0

我嘗試在舊的AngularJS項目上使用TypeScript 2.4.1。首先,我嘗試將我的簡單控制器重構爲ts。在控制器,我用匿名函數在編譯過程中得到Error:(35, 11) TS2339:Property 'app' does not exist on type 'Window'.TypeScript錯誤TS2339:「窗口」類型中不存在屬性「應用程序」

(function (app) { 
    'use strict'; 
    app.ReservationModule.controller('ItineraryController', ItineraryController); 

    ItineraryController.$inject = [ 
     'SeatMapService', 
     'SeatMapSegments' 
    ]; 

    /** 
    * Controlling interaction between seatMap service and Itinerary view. 
    */ 
    function ItineraryController(SeatMapService:any, SeatMapSegments:any) { 

     const vm = this; 
     vm.deselectService = deselectService; 
     vm.show = show; 

     /** 
     * Deselect traveller seat on seatMap service by segment. 
     */ 
     function deselectService(traveller, segment) { 
      SeatMapService.deselectService(traveller, segment); 
     } 

     /** 
     * Returns true if segment has new seatMap service. 
     * @param segment 
     * @return {boolean} 
     */ 
     function show(segment) { 
      return SeatMapSegments.getSegment(segment).hasNewSeatsService(); 
     } 
    } 
})(window.app); // type script error reason is here 

回答

1

使窗口的動態。

(<any>window).app

您也可以參考這個問題: How do you explicitly set a new property on `window` in TypeScript?

+0

好像你只是複製別人的答案。如果你認爲這兩個問題是相同的,那就投票結束重複。 –

+0

似乎我回答了這個問題,並引用了另一個問題。打電話給我不會幫助這個人。我的答案會。 –

+0

而你複製答案的整個過程是荒謬的。我已經知道答案,並找到了我從中學到的東西(並且我已經提出了)並將其鏈接起來。每一個答案都是從某個地方複製過來的,即使它是文檔,我也沒有看到人們爲此付出了低報。 –

相關問題