Angular 2 @ViewChild选择器功能

时间:2017-11-19 22:20:35

标签: angular

根据source code on GitHub@ViewChild(或@ViewChildren@ContentChild@ContentChildren)的选择器可以采用三种参数类型之一作为第一种参数:

  1. 一个字符串
  2. A type
  3. 功能
  4. 前两个很容易。不过,我无法弄清楚如何做第三个。我试过了:

    @ContentChild(() => this.templB ) tmplFromFunc: TemplateRef<any>;不会抛出错误,但tmplFromFunc未定义,即使this.templB有值(在DevTools中检查时)

    尝试添加forwardRef@ContentChild(forwardRef(() => this.templB )) tmplFromFunc: TemplateRef<any>;没有区别

    尝试删除箭头函数并使用显式函数,该函数仅返回this.tmplB: 抛出错误的@ContentChild( this.getTemplateRef ) tmplFromFunc: TemplateRef<any>;无法为“MyComponent”的属性“tmplFromFunc”构建查询,因为未定义查询选择器。查找该错误未获取我有用的/相关的。

    尝试在此处添加forwardRef@ContentChild( forwardRef(this.getTemplateRef) ) tmplFromFunc: TemplateRef<any>;错误无法设置属性'__forward_ref__'未定义

    还尝试@ContentChild( this.getTemplateRef() ) tmplFromFunc: TemplateRef<any>;只是为了好玩,这会返回一个不同的错误: this.getTemplateRef不是函数

    所以我尝试在这里添加forwardRef: @ContentChild( forwardRef(this.getTemplateRef()) ) tmplFromFunc: TemplateRef<any>;也会抛出 this.getTemplateRef不是函数

    整个下午打了我的脑袋之后,我有点不知道下一步该尝试什么。有没有人有一个功能作为选择器工作,如果是这样,你可以分享一些代码或指出我做错了吗?

    感谢。

0 个答案:

没有答案