Vue中 :is

转自https://segmentfault.com/a/1190000017262264?utm_source=tag-newest
配合is还有一个项目:
https://github.com/woai3c/visual-drag-demo
https://woai3c.github.io/visual-drag-demo/#/
https://mp.weixin.qq.com/s/-_FklC_z8YhiZ-QYHCf6zA
https://mp.weixin.qq.com/s/kjMimj_jKnusxMgvBRHw2Q

is的作用

 <ul>
  <li></li>
  <li></li>
  <li></li>
</ul>

总所周知,ul里面嵌套li的写法是html语法的固定写法(还有如table,select等)。

//code1
<ul>
  <my-component></my-component>
  <my-component></my-component>
</ul>

my-component是我们自己写的组件,但是html在渲染dom的时候,my-component对ul来说并不是有效的dom,甚至会报错。

is的诞生

正是因为html模板的限制,于是就诞生了is。接下来我们就用is解决上面的问题~

<ul>
  <li is='my-component'></li>
</ul>

首先你得注册my-component组件,全局或者局部都成。 <li is='my-component'></li>其实就相当于<my-component></my-component>,语义上是一样一样的,就是解决了html模板的限制。

is的用法

<component> + is 的骚操作

<!-- 组件会在 `件名` 改变时改变 -->
<component :is="组件名变量"></component>

只要在data里弄个变量,给变量赋值就能动态的切换组件。这个其实在某些场景还是非常好用的安利一下。

不受html模板限制的情况

vue官网提醒以下来源使用模板的话,这条限制是不存在的:
字符串 (例如:template: '...')
单文件组件 (.vue)
<script type="text/x-template">
也就是说只有在用cdn方式写vue的时候才会出现这种问题?开发基本用框架,好像没啥事的样子。
哈哈哈~到此结束,祝你生活愉快

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • vue.js是什么 是一套构建用户界面的渐进式框架 vue应用组成 一个 Vue 应用由一个通过new Vue创建...
    多多酱_DuoDuo_阅读 4,661评论 0 2
  • vue2.x1.独立构建vs运行时构建在按照vue1.0的配置配置好webpack后,会出现Failed to m...
    小虾米前端阅读 5,239评论 0 0
  • 有时Vue的反应性系统还不够,您只需要重新渲染组件即可。重新渲染组件有以下几个办法: 1.可怕的方法:重新加载整个...
    Undefined_5b6b阅读 12,076评论 0 2
  • 用到的组件 1、通过CocoaPods安装 2、第三方类库安装 3、第三方服务 友盟社会化分享组件 友盟用户反馈 ...
    SunnyLeong阅读 14,977评论 1 180
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 12,217评论 16 22

友情链接更多精彩内容