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