1

我正在尝试在 v1.4 中使用 Angular 新路由器。我正在使用打字稿。当我尝试编译时,出现以下错误。

Property '$routeConfig' does not exist on type '($router: any) => void'

这是我的代码

 /// <reference path="../Scripts/typings/angularjs/angular.d.ts"/>
/// <reference path="../Scripts/typings/angularjs/angular-route.d.ts"/>
module Application {
    "use strict";
    angular.module("app", ['ngNewRouter']);
    export var getModule: () => ng.IModule = () => {
        return angular.module("app");
    }

    getModule().controller('AppController', ['$router', AppController]);

    AppController.$routeConfig = [{
        path: '/',
        component: 'home'
    }, {
            path: '/detail/:id',
            component: 'detail'
        }, {
            path: '/login',
            component: 'login'
        }];

    function AppController($router) {

    }

}

任何帮助表示赞赏。谢谢。

4

2 回答 2

1

你有几个选择,要么使用模块,要么使用类。

模块路线:

module AppController {
    export let $routeConfig = [{
        path: '/',
        component: 'home'
    }, {
        path: '/detail/:id',
        component: 'detail'
    }, {
        path: '/login',
        component: 'login'
    }];
}

function AppController($router) {

}

和课程路线:

class AppController {
    static $routeConfig = [{
        path: '/',
        component: 'home'
    }, {
        path: '/detail/:id',
        component: 'detail'
    }, {
        path: '/login',
        component: 'login'
    }];

    constructor($router) {

    }
}

根据您的需要,使用最适合您的。

于 2015-08-27T17:06:46.427 回答
0

我让它以某种方式工作。以下是代码。现在,新路线编译并正常工作,没有任何错误。

/// <reference path="../Scripts/typings/angularjs/angular.d.ts"/>
/// <reference path="../Scripts/typings/angularjs/angular-route.d.ts"/>
module Application {
    "use strict";
    angular.module("app", ['ngNewRouter']);
    export var getModule: () => ng.IModule = () => {
        return angular.module("app");
    }

    var AppController: any, $routeConfig: any;

    getModule().controller('AppController', ['$router', AppController = ($router) => {    }]);

    AppController.$routeConfig = [
        {
            path: '/',
            component: 'home'
        },
        {
            path: '/detail/:id',
            component: 'detail'
        },
        {
            path: '/login',
            component: 'login'
        }];
}
于 2015-08-28T07:06:43.600 回答