一.Prop的大小写(camelCase vs kebab-case) HTML中的特性名是大小写不敏感的,所以浏览器会把所有大写字符解释为小写字符.这意味着当你使用DOM中的模板时,cameCase(驼峰命名法)的prop名需要使用其等价的kebab-case(短横线分割命名)命名: Vue.component('blog-post', { JS // 在 JavaScript 中是 camelCase 的 props: ['postTitle'], template: '<h3>{{ po…
本文的Demo和源代码已放到GitHub,如果您觉得本篇内容不错,请点个赞,或在GitHub上加个星星! https://github.com/zwl-jasmine95/Vue_test 以下所有知识都是基于vue.js 2.0版本 组件 (Component) 是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能.在有些情况下,组件也可以是原生 HTML 元素的形式,以 is 特性扩展. 一…
组件从注册方式分为全局组件和局部组件. 从功能类型又可以分为偏视图表现的(presentational)和偏逻辑的(动态生成dom),推荐在前者中使用模板,在后者中使用 JSX 或渲染函数动态生成组件模板内容,整体来说表现类的组件远远多于逻辑类组件. 注意:组件名最好使用全小写加短横线. 定义组件 全局组件 Vue.component,在new根实例之前定义全局组件 // 定义一个名为 button-counter 的全局组件 Vue.component('button-counter', {…
组件化 1.定义全局组件 1.要在父实例中使用某个组件,组件必须在实例值之前定义2.组件其实也是一个Vue实例,因此它在定义时也会接收:data.methond.生命周期函数等3.不同的组件不会与页面的元素绑定,否则就无法复用了因此也没有el属性4.组件渲染需要html模板,所以增加了template属性,值就是HTML模板,模板的内容必须由html双标记包裹5.全局组件定义完毕,任何vue实例都可以直接在html中通过组件名称来使用组件了6.data定义方式比较特殊,必须是一个函数 <!DOC…
从结构上看,组件之于实例,就好比轮子之于汽车.从属性和方法来看,组件有实例的大部分方法,如果Vue实例是孙悟空,组件就好比实例的一个毫毛,变化多端却为Vue实例所用. 目录: 组件的注册 is的作用 event,props,solts 动态组件 组件的注册(差不多抄官网) 有两种方式注册Vue组件:全局注册和局部注册,就好像欧元和英镑的区别,前者可以在各Vue实例中使用,后者只能在注册他的Vue实例或者父组件中使用.如果在组件中使用组件,就形成了组件的嵌套,如果组件里嵌套的组件是自己,就形成组件…
动态组件: 1.定义: 几个组件放在同一个挂载点下,然后根据父组件的某个变量来决定显示哪个,或者都不显示. 2.动态切换原理: 在挂载点使用<component>标签,然后使用v-bind:is="组件名",会自动去找匹配的组件名,如果没有,则不显示: 改变挂载的组件,只需要修改is指令的值即可. 如示例代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"…
Vue 入门之组件化开发 组件其实就是一个拥有样式.动画.js 逻辑.HTML 结构的综合块.前端组件化确实让大的前端团队更高效的开发前端项目.而作为前端比较流行的框架之一,Vue 的组件和也做的非常彻底,而且有自己的特色.尤其是她单文件组件开发的方式更是非常方便,而且第三方工具支持也非常丰富,社区也非常活跃,第三方组件也呈井喷之势.当然学习和使用 Vue 的组件也是我们的最重要的目标. 全局扩展方法Vue.extend Vue 提供了一个全局的 API,Vue.extend可以帮助我们对 Vu…
1. 官方介绍及其用法 1.1 组件介绍 要想搞明白<keep-alive>组件的内部实现原理,首先我们得搞明白这个组件怎么用以及为什么要用它,关于<keep-alive>组件,官网如下介绍: <keep-alive>是Vue中内置的一个抽象组件,它自身不会渲染一个 DOM 元素,也不会出现在父组件链中.当它包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们. 这句话的意思简单来说:就是我们可以把一些不常变动的组件或者需要缓存的组件用<keep-alive&g…
Vue是一个轻量级的渐进式框架,对于它的一些特性和优点在此就不做赘述,本篇文章主要来探讨一下Vue子父组件通信的问题 首先我们先搭好开发环境,我们首先得装好git和npm这两个工具(如果有不清楚的同学请自行百度哦) 环境搭建步骤: 打开git ,运行 npm install --global vue-cli 这是安装vue的命令行 vue init webpack vue-demo 这是vue基于webpack的模板项目 cd vue-demo 进入vue-demo文件夹 npm install…
vue用组件化简化了我们编写代码的复杂度,组件之间经常会出现数据传递的情况,那么组件之间是怎样通信的呢? 使用props传递数据 组件实例的作用域是孤立的.这意味着不能 (也不应该) 在子组件的模板内直接引用父组件的数据.父组件的数据需要通过 prop 才能下发到子组件中. 假设我们现有一个这样的父组件 var vm = new Vue({ el: "#app", data: { parentMessage: 'h' }, components: { Child } }) 可以看到在该…