这是官网动态组件的讲解,我不知道你们是什么感觉,反正我当初作为一个初学者,是没怎么看懂,一个头两个大,也是难怪Angular不如Vue火,实在是容易劝退啊。
使用场景
我们先明确下动态组件的使用场景,在代码运行时要动态加载组件,换成普通人话,代码需要根据具体情况(比如用户的操作,向后台请求结果)确定在某些地方加载某些组件,这些组件不是静态的(不是固定的)。
官网的举例就是,构建动态广告条,广告组件不断会推出新的,再用只支持静态组件结构的模板显然是不现实的。
再举一个常见的例子,动态弹出框,弹出的组件是不确定的、不断更新的,这里那里弹出个购买框,那那那又需要弹出样式选择框,静态组件结构模板是不能满足群众日渐增长的需求。
怎么实现
然后我们来找个把手,看实现动态组件需要什么。
一、动态组件放在哪
我们需要知道把动态组件加在哪里,也就是锚点。那什么东西可以用来加载组件呢?
你可能会想说,组件不就加载锚点上吗,锚点不就是DOM节点吗?那当然是加载DOM节点里啊。
我们先来回顾下Angular操作DOM的常见方法,原生JS操作DOM的方法你就不要想了,你觉得它能返回给你能加载Angular组件的对象吗?

本文介绍了Angular动态组件的使用场景和实现方式。动态组件适用于代码运行时根据需求动态加载的情况,如动态广告条和弹出框。实现动态组件需要确定加载位置,使用DOM Query技术,特别是@ViewChild和ViewContainerRef。创建组件实例需要ComponentFactory和ComponentFactoryResolver。注意组件模块的导入和entryComponents配置。
最低0.47元/天 解锁文章
213

被折叠的 条评论
为什么被折叠?



