Vue——邂逅Vue
Vue——Vue的基础语法
Vue——Vue的组件化
Vue——slot_插槽的基本使用

文章目录

  • 1:组件化的介绍和使用
  • 2:组件步骤解析
  • 3:全局组件和局部组件
  • 4:父组件和子组件
  • 5:注册组件的语法糖
  • 6:组件模板抽离的方法
  • 7:组件数据的存放
  • 8:父子组件的通信
    • 8.1 props基本用法——父传子
      • 8.1.1 props数据验证
      • 8.1.2 父组件访问子组件:$children
    • 8.2 子传父
      • 8.2.1 子组件访问父组件:$parent

1:组件化的介绍和使用



<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script src="js/vue.js" type="text/javascript" charset="utf-8"></script>     </head><body><div id="demo">       <cpn></cpn></div><script>const cpn=Vue.extend({template: '<div><h1>dada</h1></div>'});Vue.component('cpn',cpn)</script></body>
</html>

2:组件步骤解析


3:全局组件和局部组件


以下演示局部组件

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script src="js/vue.js" type="text/javascript" charset="utf-8"></script> </head><body><div id="demo">       <cpns></cpns></div><script>const cpn=Vue.extend({template: '<div><a>dadadd</a></div>'});console.log(1);Vue.component('cpns',cpn);console.log(2);//局部组件const demo=new Vue({el: '#demo',components: {cpns: cpn}})</script>      </body>
</html>

4:父组件和子组件


代码演示


<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script src="js/vue.js" type="text/javascript" charset="utf-8"></script></head><body><div id="demo"><mycp></mycp></div><script>const cpp=Vue.extend({template: '<div><h1>ppp</h1></div>',})const cps=Vue.extend({template: '<div><h1>sss</h1><cpp></cpp></div>',components: {cpp: cpp}})const demo=new Vue({el: "#demo",components: {mycp: cps}})  </script></body>
</html>

5:注册组件的语法糖


代码示例如下

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script src="js/vue.js" type="text/javascript" charset="utf-8"></script></head><body><div id="demo">        <cpns></cpns></div><script>const demo=new Vue({el: '#demo',components: {cpns: {template: '<div><a>dadadd</a></div>'}}})</script>     </body>
</html>

6:组件模板抽离的方法

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script src="js/vue.js" type="text/javascript" charset="utf-8"></script></head><body><div id="demo"><mycp></mycp></div><template id="demo1"><div><h1>sss</h1></div></template><script>const cpp=Vue.extend({template: '#demo1',})const demo=new Vue({el: "#demo",components: {mycp: cpp}})</script></body>
</html>

7:组件数据的存放


如果 Vue 没有这条规则(data必须是函数),点击一个按钮就可能会影响到其它所有实例:

组件存放数据演示

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script src="js/vue.js" type="text/javascript" charset="utf-8"></script></head><body><div id="demo2"><mycp></mycp></div><template id="demo"><div><h2>{{message}}</h2><h1>dadad</h1></div></template><script>const a=Vue.extend({template: '#demo',data() {return {message: 11}}                                   })const demo=new Vue({el: '#demo2',components: {mycp: a}})</script></body>
</html>

8:父子组件的通信

8.1 props基本用法——父传子


代码示例

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script src="js/vue.js" type="text/javascript" charset="utf-8"></script></head><body><div id="app"><mycp v-bind:datas="datas"></mycp></div><template id="demo"><div>{{datas}}</div></template><script>const cps=Vue.extend({template: '#demo',props: ['datas'],})const app=new Vue({el: "#app",data: {datas: ['daa','aaa','aaa']},components: {'mycp': cps}})</script></body>
</html>

8.1.1 props数据验证

8.1.2 父组件访问子组件:$children


代码演示:


<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script src="js/vue.js" type="text/javascript" charset="utf-8"></script></head><body><div id="app"><mycp v-bind:datas="datas"></mycp><button v-on:click="btnclick()">点击</button></div><template id="demo"><div>{{datas}}</div></template><script>const cps=Vue.extend({template: '#demo',props: ['datas'],})const app=new Vue({el: "#app",data: {datas: ['daa','aaa','aaa']},components: {'mycp': cps},methods: {btnclick(){console.log(this.$children[0].name)//  console.log(this.$children.datas[0])}}})</script></body>
</html>

8.2 子传父


代码演示


<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script src="js/vue.js" type="text/javascript" charset="utf-8"></script></head><body><div id="app"><mycp v-on:itemclick="accpetnews"></mycp></div><template id="demo"><div><button type="button" v-for="item in species" v-on:click="btnclick(item)">{{item.name}}</button></div>            </template><script>const cps=Vue.extend({template: '#demo',data() {return {species: [{id: 'aa',name: '游戏'},{id: 'bb',name: '生活'},{id: 'cc',name: '学习'}]}},methods: {btnclick(item) {//console.log(item)//子组件发送事件this.$emit('itemclick')}}})const app=new Vue({el: "#app",data: {datas: ['daa','aaa','aaa']},components: {'mycp': cps},methods: {accpetnews(){console.log(1)}}})     </script></body>
</html>

8.2.1 子组件访问父组件:$parent

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script src="js/vue.js" type="text/javascript" charset="utf-8"></script></head><body><div id="app"><mycp v-bind:datas="datas"></mycp></div><template id="demo"><div>{{datas}}<button v-on:click="btnclick()">点击</button></div></template><script>const cps=Vue.extend({template: '#demo',props: ['datas'],methods: {btnclick(){console.log(this.$parent)//    console.log(this.$children.datas[0])}}})const app=new Vue({el: "#app",data: {datas: ['daa','aaa','aaa']},components: {'mycp': cps}})</script></body>
</html>

Vue——Vue的组件化相关推荐

  1. 360奇舞团钟恒:选用Vue.js进行组件化开发,我们遇到了哪些坑?

    责编:陈秋歌,关注前端开发领域,寻求报道或者投稿请发邮件chenqg#csdn.net. 欢迎加入"CSDN前端开发者"微信群,参与热点.难点技术交流.请加群主微信「Rachel_ ...

  2. Vue入门之组件化开发

    Vue入门之组件化开发 http://www.jianshu.com/p/6718ab1caa81 组件其实就是一个拥有样式.动画.js逻辑.HTML结构的综合块.前端组件化确实让大的前端团队更高效的 ...

  3. Vue.js教程-组件化开发

    Vue.js教程-组件化开发 前言 Vue组件化 什么是组件化 Vue单页面开发的解释 组件化思想 组件的使用 原理 实际开发中的使用-父子组件 父子组件传递数据 父传子-props用法 子传父-th ...

  4. 【Vue】Vite 组件化开发

    文章目录 组件化开发 一.组件化开发思想 二.Vue 组件的构成 2.1 组件组成结构 2.2 组件 template 节点 2.2.1 在 template 中使用指令 2.2.2 在 templa ...

  5. Vue.js-Day02-PM【组件化开发(全局注册组件、局部注册组件、案例)、组件的配置选项、轮播图实例(左右切换按钮、底部导航栏、定时器、鼠标移入-图片静止)】

    Vue.js实训[基础理论(5天)+项目实战(5天)]博客汇总表[详细笔记] 目   录 4.组件化开发 4.1.组件的注册 全局注册 局部注册(只能在当前整个Vue实例的范围内才可以使用) 使用组件 ...

  6. [Vue.js] 深入 -- 组件化开发

    组件化开发思想 现实中的组件化思想体现 标准 分治 重用 组合 组件注册 全局组件注册语法 Vue.component(组件名称,{data:组件数据,template:组件模板内容 }) 组件用法 ...

  7. Vue.js-资料-组件化思想 —上

    一.Vue中的组件 Vue视图层的灵魂 -  组件化 组件(Component)是 Vue.js 最强大的功能之一: 组件可以扩展 HTML 元素,封装可重用的代码: 在较高层面上,组件是自定义元素, ...

  8. Vue.js的组件化开发

    组件化开发 什么是组件? web中的组件其实就是页面组成的一部分, 好比是电脑中的每一个元件(如硬盘.键盘.鼠标), 它是一个具有独立的逻辑和功能或界面, 同时又能根据规定的接口规则进行相互融化, 变 ...

  9. Vue基础知识+组件化开发+模块化开发总结

    三.内容: 一.MVVM View层 视图层,我们前端开发时候的DOM层 主要就是给用户展示各种信息 Model层 数据层:可能是我们固定的思数据,更多的是来自我们的服务器,在网路上请求下来的数据 V ...

  10. vue相关的组件化开发和模块化开发及工程化

    vue作为当前最流行的前端框架,随着更新迭代,组件化和模块化思想就成为了主流. 大多数招聘信息提到模块化开发,我自己理解vue的模块化:javascript模块化思想是利用es6的 import/ex ...

最新文章

  1. epoll/select
  2. 请解释和、|和||的区别?
  3. 智慧航空AI大赛-阿里云算法大赛总结 第一赛季总结
  4. jquery 验证小数点后几位_利用jquery实现验证输入的是否是数字、小数,包含保留几位小数...
  5. python大神的成长之路_Python大神成长之路: 第三次学习记录 集合 函数 装饰 re...
  6. Reactor模型和Proactor模型:同步IO与异步IO
  7. librdkafka 安装
  8. 【免费毕设】ASP.NET通用作业批改系统设计(源代码+lunwen)
  9. 基于springboot的户外租车系统
  10. java Ofd 转图片_OFD文件怎么转换成图片
  11. 搭建阿里云服务器内有阿里云幸运券
  12. 基于JESD204B的LMK04826时钟芯片开发笔记
  13. Matlab的residuez和residue的区别,举例
  14. 【CTO论道】京东商城李大学:京东研发团队管理经验谈
  15. 谷歌离线地图的使用(1)
  16. ecshopcron.php,ecshop商业模板 高仿小米商城源码,小米手机商城源代码模板价值百元...
  17. zookeeper 实现分布式锁
  18. 男女交往技巧 男生如何赞美女生才有效
  19. 角谱法 matlab,一种基于部分角谱法的快速全息图生成和高质量再现方法与流程...
  20. python websocket爬虫_python爬虫----爬取阿里数据银行websocket接口

热门文章

  1. 服务器回收站误删的文件怎么恢复,轻松找回被清空的回收站数据
  2. 威客模式终极公式的第二次修正
  3. 基于javaweb+mysql的电影在线观看系统(java+ssm+jsp+layui+maven+mysql)
  4. oracle getpy,应用实例 - Foxtable 中文帮助文档
  5. spring boot Invalid bound statement (not found): com.su.mapper.UserMapper.getAllUsers
  6. Flexsim循环产生不同类型和数量的临时实体
  7. oracle 工单查so,帮助中心——查询工单详情
  8. Shopee退货运费是由谁承担?
  9. 网易24周年,竟拿出内部进阶必备的网络协议笔记,给程序员发福利
  10. 蓝桥杯第八届决赛B组