Vue.js实战之组件的进阶 您所在的位置:网站首页 vuejs组件精讲 Vue.js实战之组件的进阶

Vue.js实战之组件的进阶

2022-10-23 19:40| 来源: 网络整理| 查看: 265

Vue.js实战之组件的进阶

作者:WiseWrong 字体:[增加 减小] 来源:互联网 时间:2017-05-30

本文主要包含vue.js实战,vue.js实战教程,vue.js实战视频,vue.js实战案例,vue.js项目实战等相关知识,WiseWrong 希望在学习及工作中可以帮助到您

一、基本用法

在使用 vue-cli 创建的项目中,组件的创建非常方便,只需要新建一个 .vue 文件,然后在 中写好 HTML 代码,一个简单的组件就完成了

 

一个完整的组件,除了 以外,还有 和

需要注意的是, 中的 data 必须是函数

 

然后在其他文件的 js 里面引入并注册,就能直接使用这个组件了

二、使用 slot 分发内容

开发过程中,常常需要在子组件内添加新的内容,这时候可以在子组件内部留一个或者多个插口

然后在调用这个子组件的时候加入内容

添加的内容就会分发到对应的 中

中还可以作为一个作用域,在子组件中定义变量,然后在父组件中自定义渲染的方式

 

这个示例中,首先在子组件中添加 ,并在子组件中定义了数组变量 navs

然后在父组件中以作用域 添加内容,其中 scope 是固有元素,它的值对应一个临时变量 props

而 props 将接收子组件中,所有绑定的属性(如 text)

三、动态组件

Vue 还可以将多个子组件,都挂载在同一个位置,通过变量来切换组件,实现 tab 菜单这样的效果

这样的功能可以通过路由 vue-router 实现,但路由更适合较大的组件,而且 url 会有相应的改变

Vue 自身保留的 元素,可以将组件动态绑定到 is 特性上,从而很方便的实现动态组件切换

上例中,当 tabView 的值改变, 就会渲染对应的组件,和路由的效果十分类似,但是地址栏并没有发生改变

但这样一来,每次切换组件都会重新渲染,无法保留组件上的数据。这时可以使用 keep-alive 将组件保留在内存中,避免重新渲染

 

四、递归组件

当组件拥有 name 属性的时候,就可以在它的模板内递归的调用自己,这在开发树形组件的时候十分有效

上面是一个子组件,定义了 name 为 simple03,然后在模板中调用自身,结合 v-for 实现递归

为了防止出现死循环,在调用自身的时候,加入了 v-if 作为判定条件

父组件中调用的时候,需要通过 props 传入一个 tree:

 

最终渲染结果:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。

您可能想查找下面的文章: vue构建单页面应用实战Vue.js实战之通过监听滚动事件实现动态锚点Vue.js实战之组件的进阶Vue.js实战之利用vue-router实现跳转页面Vue.js实战之组件之间的数据传递 相关文章 2017-05-30详解vue之页面缓存问题(基于2.0)2017-05-30vue.js中指令Directives详解2017-05-30vue实现todolist单页面应用2017-05-30简单的vue-resourse获取json并应用到模板示例2017-05-30Vue 2.0 服务端渲染入门介绍2017-05-30vue项目中做编辑功能传递数据时遇到问题的解决方法2017-05-30详解在Vue中通过自定义指令获取dom元素2017-05-30Vue实现双向绑定的方法2017-05-30Vue.js 父子组件通讯开发实例2017-05-30Vue过滤器的用法和自定义过滤器使用


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有