Свойство '$routeConfig' не существует для типа '($router: any) => void'
Я пытаюсь использовать угловой новый маршрутизатор в v1.4. Я использую Typescript. Когда я пытаюсь скомпилировать, я получаю следующую ошибку.
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) {
}
}
Любая помощь приветствуется. Благодарю.
2 ответа
Решение
Я заставил это работать как-то. Ниже приведен код. Теперь новый маршрут компилируется и работает без ошибок.
/// <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'
}];
}
У вас есть пара вариантов, либо использовать модуль или класс.
Маршрут модуля:
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) {
}
}
В зависимости от ваших потребностей, используйте тот, который подходит вам лучше всего.