TypeScript 错误 TS2339:类型“Window”上不存在属性“app”

Edg*_*rka 1 angularjs typescript

我尝试在我的旧 AngularJS 项目上开始使用 TypeScript 2.4.1。首先,我尝试将我的简单控制器重构为 ts。在控制器上,我在编译过程中使用匿名函数获取Error:(35, 11) TS2339:Property 'app' does not exist on type 'Window'.

  (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
Run Code Online (Sandbox Code Playgroud)

Chr*_*arp 6

使窗口动态。

(<any>window).app

您还可以参考这个问题: 如何在 TypeScript 中显式设置 `window` 上的新属性?