Как использовать RouteConfig в Angular2 с простым JavaScript?

Я создаю приложение, используя Angular 2 с простым JavaScript, и я не могу найти ни одного примера использования RouteConfig для JavaScript (не ts).

Может ли кто-нибудь дать мне пример того, как использовать. Я пробовал так, но это не работает:

(function(app) {
    app.MainComponent =
        ng.core.Component({
                selector: 'app',
                templateUrl: 'app/components/main/main.view.html'
            })
            .Class({
                constructor: function() {}
            })
            .RouteConfig([
                {path: '/', redirectTo: '/job'},
                {path: '/job', component: JobViewComponent }
            ])
    ;

})(window.app || (window.app = {}));

И у меня есть другой файл, это JobView

(function(app) {
    app.JobViewComponent =
        ng.core.Component({
                selector: 'job-view',
                templateUrl: 'app/components/job_view/job_view.view.html'
            })
            .Class({
                constructor: function() {}
            });
})(window.app || (window.app = {}));

Спасибо.


person Daniel Dudas    schedule 15.02.2016    source источник


Ответы (1)


RouteConfig — это декоратор, поэтому вы должны использовать его следующим образом:

app.MainComponent =
  ng.core.Component({
    selector: 'app',
    templateUrl: 'app/components/main/main.view.html'
  })
  .Class({
    constructor: function() {}
  });

app.MainComponent = ng.core.RouteConfig([
  {path: '/', redirectTo: '/job'},
  {path: '/job', component: JobViewComponent }
])(app.MainComponent);

Вот рабочий планкр: https://plnkr.co/edit/ZcSGHSsV8fBOc4TnI68h?p=preview.

person Thierry Templier    schedule 15.02.2016
comment
Это странно, так как у меня нет поведения с файлом angular2-all.umd.dev.js :-( Кажется, это ошибка в уменьшенном файле... - person Thierry Templier; 15.02.2016
comment
Спасибо. Я не буду использовать пока версию .min. Надеюсь исправят в следующем релизе. - person Daniel Dudas; 15.02.2016
comment
После обновления до rc1 и использования нового маршрутизатора я получаю эту ошибку: ng.router.RouteConfig is not a function. Из ts doc похоже, что должно быть то же самое. Вы знаете, почему я получаю эту ошибку сейчас? Спасибо. - person Daniel Dudas; 01.06.2016