Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了angular – 修改TestBed.overrideComponent中定义的组件大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我们正在使用
TestBed.overrideComponent(CoolComponent,{
    set: {
      template: '<div id="fake-component">i am the fake component</div>',selector: 'our-cool-component',inputs: [ 'model' ]
    }
  })

覆盖组件.@H_419_4@

该组件具有我们在ngOnInit方法中配置的ViewChild@H_419_4@

@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();
  }
}

CoolComponent依次生活在一个Wrapper组件中.@H_419_4@

当我们在Wrapper fixture上调用fixture.detectChanges()时,会尝试构造CoolComponent,但是当它调用doStuff()时,它会立即死机,因为CoolChildComponent是未定义的.@H_419_4@

有没有办法得到CoolComponent存根的CoolChildComponent?看起来我们可以把它从Wrapper中取消,因为它只能通过模板引用,而不是组件的属性.@H_419_4@

ngOnInit() {
  this.coolChildComponent.doStuff();
}

应该@H_419_4@

ngAfterViewInit() {
  this.coolChildComponent.doStuff();
}

because@H_419_4@

大佬总结

以上是大佬教程为你收集整理的angular – 修改TestBed.overrideComponent中定义的组件全部内容,希望文章能够帮你解决angular – 修改TestBed.overrideComponent中定义的组件所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: