:is的作用有两个:
1,动态切换组件
<!-- 组件会在 `件名` 改变时改变 --> <component :is="组件名变量"></component>
<!-- 通过is特性,可以动态切换当前组件 --> <div v-bind:is="currentView"></div> <!-- v-bind:动态绑定属性 -->
2:解析DOM模版,解除限制元素:
有些HTML元素,例如<ul><ol><table><select>,对于哪些元素可以出现在其内部是有严格限制的,而有些元素,例如:<li><tr><option> 只能出现在其他某些特定的元素内部。
这会导致我门使用这些有约束条件的元素的时候会遇到一些问题。例如:
<table> <my-component></my-component> </table> <!-- 这个自定义组件<my-component>会被作为无效的内容提升到外部,并导致最终渲染结果出错。 --><table> <tr is="my-component"></tr> </table> <!--增加is特性来扩展,从而达到可以在这些受限制的html元素中使用 -->