にトリガされません私は/car
で発見することができますCarComponent
と呼ばれるコンポーネントを持っています。をngOnInitページロード
http://localhost:4200/car
に移動すると、正しいルートに移動し、CarComponent
テンプレートが表示されますが、コンポーネントのngOnInit
機能は呼び出されません。ここに私のコンポーネントのコードは次のとおりです。それは場合に役立ちます。ここ
// src/app/+car/car.component.ts
import { Component, OnInit } from '@angular/core';
import { Http, HTTP_PROVIDERS } from '@angular/http';
@Component({
moduleId: module.id,
selector: 'app-car',
templateUrl: 'car.component.html',
styleUrls: ['car.component.css']
})
export class CarComponent implements OnInit {
cars: any;
constructor(public http: Http) {
}
ngOnInit() {
console.log('init');
this.http.get('http://localhost:3000/api/cars.json')
.subscribe(response => this.cars = response.json());
}
}
は、カップル、他のファイルです:
// src/app/dream-cars.component.ts
import { Component } from '@angular/core';
import { CarComponent } from './+car';
import { Routes , ROUTER_DIRECTIVES} from '@angular/router';
@Component({
moduleId: module.id,
selector: 'dream-cars-app',
templateUrl: 'dream-cars.component.html',
styleUrls: ['dream-cars.component.css'],
directives: [ROUTER_DIRECTIVES]
})
@Routes([
{path: '/car', component: CarComponent}
])
export class DreamCarsAppComponent {
title = 'Dream Cars';
}
- 私はngOnInit
(または任意の関数を得るのですか
<!-- src/app/dream-cars.component.html -->
<h1>{{title}}</h1>
<nav>
<ul>
<li><a [routerLink]="['/']">Home</a></li>
<li><a [routerLink]="['/car']">Cars</a></li>
</ul>
</nav>
<router-outlet></router-outlet>
どのように、私は「ドン私はページを読み込むときに呼び出される?私は/car
に私のリンクをクリックしたときにところで
が、それはまた、呼び出されません。リンクをクリックすると、正しいルートに移動しますが、ngOnInit
は呼び出されません。私は二回リンクをクリックした場合のみ必要に応じて、それが動作しません。
ここでも、ngOnInit
は私にとって重要なことではありません。私は、ページが読み込まれたときにコンポーネントにAPI呼び出しをさせたいだけです。
どのブラウザとどのような角度バージョンがありますか? GünterZöchbauerChromeと角度2.0.0-rc.1 @ –
。 GünterZö[email protected] –
は、私はあなたが正しいことを推測します。幸い私は別のSOの答えで解決策を見つけました。 –