2016-03-05 4 views
0

Следующий код не отображает список автоматически, я должен создать ссылку и щелкнуть. Кто-нибудь может помочь?Маршрутизатор - не может установить маршрут по умолчанию

Спасибо

import { Component } from 'angular2/core'; 
import { HTTP_PROVIDERS } from 'angular2/http'; 
import { CourseListComponent } from '../lists/course.list'; 
import {RouteConfig, ROUTER_DIRECTIVES, ROUTER_PROVIDERS, LocationStrategy, HashLocationStrategy} from 'angular2/router'; 
import EndPointService from '../../Services/EndPointService'; 
import {CourseDetailsComponent} from '../course.details'; 


@Component({ 
    selector: 'course-router-app', 
    templateUrl: '/Admin/App/views/router/course-router-app.html', 
    directives: [ROUTER_DIRECTIVES], 
    providers: [ 
     HTTP_PROVIDERS, 
     ROUTER_PROVIDERS, 
     EndPointService 
    ] 
}) 
    @RouteConfig([ 
     { path: '/', name: 'Courses', component: CourseListComponent, useAsDefault: true }, 
     { path: '/details/:id', name: 'CourseDetails', component: CourseDetailsComponent } 
]) 
export default class CourseRouterComponent { 
} 

Список курс Компонент

import { Component, View, OnInit } from 'angular2/core'; 
import { NgFor } from 'angular2/common'; 
import EndPointService from '../../Services/EndPointService'; 
import LogService from '../../Services/LogService'; 
import * as dtos from '../../view-models/ICourseViewModel'; 
import {Router, RouteParams} from 'angular2/router'; 

@Component({ 
    selector: 'course-list', 
    providers: [EndPointService, LogService], 
    templateUrl: '/Admin/App/views/lists/course-list.html' 
}) 
export class CourseListComponent implements OnInit { 
    public courses: dtos.ISimpleCourseViewModel[]; 

    constructor(private _endPointService: EndPointService, private _router: Router, private _logService: LogService) { 

    } 


    showDetails(course: dtos.ISimpleCourseViewModel) { 
     this._logService.log('showing details ' + course.ID); 
     this._router.navigate(['CourseDetails', { id: course.ID }]); 
    } 

    ngOnInit(): any { 
     this._endPointService.getAllCoursesSimple().subscribe(
      (response) => { 
       this.courses = this.courses = response.json(); 
      }, 
      (err) => { 
       console.log(err); 
      }); 

    } 

    public diagnostic(): string { 
     return JSON.stringify(this.courses); 
    } 
} 

Также у меня есть <base href="/"> набор.

У меня нет комментариев, так как я не думаю, что они важны. Может ли кто-нибудь помочь? Я не вижу, как мой код отличается от примеров онлайн, которые отображают маршруты по умолчанию.

+0

Этот код выглядит нормально. Каков ваш «CourseListComponent»? – Sasxa

+0

Вы добавили '' on index.html? –

+0

Здесь вы должны ввести код CourseListComponent. – micronyks

ответ

2

В качестве FYI я работал вокруг этого вопроса со следующим кодом - это небольшой хак:

constructor(private _router: Router) { } 

    ngOnInit(): any { 
     this._router.navigate(['Courses']); 
    } 
Смежные вопросы