2015-08-26 7 views
1

Я пытаюсь использовать угловой новый маршрутизатор в версии 1.4. Я использую TypScript. Когда я пытаюсь скомпилировать, я получаю следующую ошибку.

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) { 

    } 

} 

Любая помощь приветствуется. Благодарю.

ответ

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' 
     }]; 
} 
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) { 

    } 
} 

В зависимости от ваших потребностей, использование в зависимости от того работает лучше всего для вас.

+0

Спасибо за ответ. Это было информативно. Но я должен был сделать что-то еще, чтобы приложение работало. – Muthukumar

Смежные вопросы