2017-10-13 209 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

而你复制答案的整个过程是荒谬的。我已经知道答案,并找到了我从中学到的东西(并且我已经提出了)并将其链接起来。每一个答案都是从某个地方复制过来的,即使它是文档,我也没有看到人们为此付出了低报。 –

相关问题