首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

一文了解 ng-template, ng-content, ng-container, 和 *ngTemplateOutlet的区别

当时我对 和 的区别感到困惑。 在寻求知道我的问题的答案的过程中,我发现了 的概念。...除了将每个内容投影到单个 中之外,您还可以使用 的 select 属性控制内容的投影方式。...ng-content vs. *ngTemplateOutlet 它们都可以帮助我们实现高度定制化的组件,但选择哪个以及何时选择?...这不是 ng-content 的情况。 它按原样呈现内容。 您最多可以在 select 属性的帮助下拆分内容并在视图的不同位置呈现它们。 您不能有条件地呈现 ng-content 中的内容。...至少现在我们的武器库中有一个新武器 *ngTemplateOutlet,除了 ng-content 的功能外,它还提供了对内容的更多控制!

5.1K40

通过单步调试的方式学习 Angular 中带有选择器的内容投影使用方式

app-content-section 的 Component,用于容纳内容投影(content projection): 这个 Component 的模板区域,分别定义了三个 div 区域,里面包含了对应的内容投影占位符 ng-content...问题分析 第一个 div 标签同时满足第一条和第三条内容投影规则,因此其被投影到第一个 ng-content 之后,就不会再重复被投影了。...我们可以做一个测试,把提供内容投影场所的 Component 内的第一个和第三个 ng-content 调换一下顺序: 这次的测试结果,红色区域出现的两个元素,其 name 属性值都为 test....当 Component 的模板文件被解析,遇到 ng-content 时: 触发 ɵɵprojection 函数。

80910

Angular 内容投影 content projection 的一个问题的单步调试

通过查阅 Angular 官网,发现这里把 ng-container 和 ng-content 弄混淆了。此处应该使用 ng-content....解决方案 ng-content 之间不允许再插入其他元素。仅仅充当一个占位符的角色。 使用 ng-content 之后问题消失。...这里我们可以通过单步调试的方式,搞清楚被投影的内容是如何插入到 ng-content 占位符里的。...modification: 首先执行 template 函数,将 Component 本身的 h2 元素,进行 HTML 源代码的渲染: 接下来是 Angular 处理整个内容投影逻辑的关键: 遇到 ng-content...,则调用函数 ɵɵprojection: 转而调用 applyProjection: parent node 即是指定义了 ng-content 的 Component 对应的 dom 元素: rNode

50320

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券