Chúng tôi đang sử dụngsửa đổi một phần quy định tại TestBed.overrideComponent
TestBed.overrideComponent(CoolComponent, {
set: {
template: '<div id="fake-component">i am the fake component</div>',
selector: 'our-cool-component',
inputs: [ 'model' ]
}
})
để ghi đè lên một phần.
Các thành phần có một ViewChild mà chúng tôi cấu hình trong phương pháp của chúng tôi ngOnInit
@Component({
selector: 'our-cool-component',
templateUrl: 'cool.component.html'
})
export class CoolComponent implements OnInit, OnDestroy {
@Input() model: SomeModel
@ViewChild(CoolChildComponent) coolChildComponent;
ngOnInit() {
this.coolChildComponent.doStuff();
}
}
Các CoolComponent
lần lượt sống trong một thành phần Wrapper
.
Khi chúng tôi gọi fixture.detectChanges()
trên lịch thi đấu Wrapper
, điều này sẽ cố gắng xây dựng CoolComponent, nhưng nó ngay lập tức chết khi nó gọi doStuff() vì CoolChildComponent
không xác định.
Có cách nào để lấy số CoolComponent
để khai báo CoolChildComponent
không? Dường như chúng tôi không thể lấy nó ra khỏi Wrapper
vì nó chỉ được tham chiếu thông qua mẫu, chứ không phải là thuộc tính của thành phần.
Tôi vừa thêm tiền thưởng, dường như bạn không được thông báo (http://meta.stackoverflow.com/q/333838/3001761) – jonrsharpe
Tính năng này có đang hoạt động không? Nó có hoạt động khi bạn đang chạy nó trong trình duyệt (hoặc bất kỳ thứ gì bạn đang nhắm mục tiêu) không? Đây có phải là sự cố chỉ thử nghiệm không? – j2L4e