【问题标题】:Angular 2 query for transcluded content in a specific ng-contentAngular 2查询特定ng-content中的嵌入内容
【发布时间】:2017-01-12 23:03:43
【问题描述】:

我想通过访问ng-content 标记之一(最好是通过其select 属性)来查询我的模板中的嵌入内容,而无需在元素上设置局部变量。

这可能吗?

<comp>
  <span world>Hello world</span>
</comp>

模板:

<div>
  <ng-content select="[world]"></ng-content>
</div>

Comp.ts:

@ContentChild('world') world: ElementRef;

上述方法不起作用,这是意料之中的,因为我只是从臀部射击。

如何查询 ng-content 的内容?

用例是检查内容是否已经真正传递给组件。

【问题讨论】:

    标签: angular


    【解决方案1】:

    要让ng-content 选择您的跨度,您需要添加一个world 属性

    <comp>
      <span world>Hello world</span>
    </comp>
    

    您不能使用@ContentChild() 来查询没有模板变量或组件或指令类型的元素。

    也许这种方法有助于Angular2 Dart - Get Text inside Angular2 Component

    【讨论】:

    • 对不起,我忘了在我的简单示例中添加属性。这很糟糕,但我想我只需要添加一个变量。
    • 链接的答案怎么样?
    • 那使用了一个变量,这样就可以了? :P
    • 当然可以,但是变量在&lt;comp&gt; 的模板中,而不是在嵌入的内容中(组件的用户无需添加任何内容)。
    • 是的,我就是这么做的。
    猜你喜欢
    • 2016-08-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-04
    • 1970-01-01
    • 2017-05-24
    • 2020-11-03
    • 1970-01-01
    • 2018-01-11
    相关资源
    最近更新 更多