angular - 如何将具有特定指令的子元素作为模板注入父组件?
问题描述
我将 Dart 2.4 与对应的 AngularDart 一起使用。
我想要的是允许在我的组件中指定用于更改组件视图的可选模板。
我用什么:
@Directive(selector: "[myMarker]")
class MyDirective{
MyDirective(Element el) {
}
}
在模板中:
<my-component>
<template myMarker>Ooo yeah!</template>
</my-component>
并且在MyComponent
@ViewChild(MyDirective)
TemplateRef myTemplate;
然而myTemplate
为空。我{{myTemplate!=null}}
在模板上检查它,所以我认为它是独立于生命周期的检查。
我究竟做错了什么?
解决方案
它应该ContentChild
代替ViewChild
.
这是一篇很棒的文章,它解释了这些术语。
推荐阅读
- json - Power BI 自定义视觉对象 - 强制有向图 API 错误
- c# - 将二进制数据保存到表中时,我得到 NULL
- javascript - 如果字段有任何数据,应该看到添加按钮?onkeyup 功能不会每次都触发。我的目的是创建一个待办事项列表
- c# - AspNetCore Web Api 微软账户认证
- continuous-integration - Gitlab runner 使用共享运行器在 master 分支中运行我的 ci 部署
- algorithm - 如何计算算法的时间复杂度?
- javascript - 一页中具有不同参数的多个数据表
- button - 如何将自定义按钮添加到 Gmail
- google-compute-engine - 在 GCE 实例上拒绝与 RocketChat 的连接
- imagemagick - 使用 ImageMagick MagickGetImageBlob 减小 WebP 图像大小