33
Şablona bağladığım @Input
ile basit bir Açısal 2 bileşenim var. Şablon girdi verileri gösterir, ancak yapıcı gelen erişemez:Denetleyiciden/yapıcımdan gelen Girişlere erişilemiyor
import {Component, View, bootstrap, Input} from 'angular2/angular2';
import DataService from './data-service';
@Component({
selector: 'app-cmp'
})
@View({
template: `{{data.firstName}} {{data.lastName}}` //-> shows the correct 'data'
})
export default class NamesComponent {
@Input() data: any;
constructor(dataService: DataService) {
console.log(this.data);//undefined
}
}
örnek ("isimler-component.ts" bölümüne bakınız) ile bir plunker olduğunu.
Neyi yanlış yapıyorum?
yeni API dayanarak, aslında OnInit uygulamak için sınıf değiştirmek ardından "angular2/angular2" dan OnInit aktarabilir ve gerek. .. } – jgo
Bu cevap hala 2.0.0-beta.8 ile çalışıyor. Böylece bir hizmet kurucuda başlatılabilir (kurucu (dataService: DataService) {this.dataService = dataservice}). Ancak, argüman olarak girdiyi kullanarak hizmetin gerçek getirilmesi, ngOnInit() işlevi içinde (ngOnInit() gibi bir şey kullanılarak gerçekleştirilmelidir) {var data = this.dataService; this.dataService.getData (data) .subscribe .. . –