此篇文件仅仅作为笔记分享,不用于其他用途!!!
看了许多关于vue的书籍和学习材料之类的,稍微做个总结吧
先打开官网的首页:https://cn.vuejs.org/
渐进式含义:没有多做职责之外的事。
你可以在原有大系统的上面,把一两个组件改用它实现,当jQuery用;
也可以整个用它全家桶开发,当Angular用;
还可以用它的视图,搭配你自己设计的整个下层用。
你可以在底层数据逻辑的地方用OO和设计模式的那套理念,
也可以函数式,都可以,它只是个轻量视图而已,只做了最核心的东西。
vue.js
只提供了 vue-cli
生态中最核心的 组件系统
和 双向数据绑定
。
像vuex
、vue-router
都属于围绕 vue.js
开发的库。
比如说,你要使用Angular,必须接受以下东西:
所以Angular是带有比较强的排它性的,如果你的应用不是从头开始,而是要不断考虑是否跟其他东西集成,这些主张会带来一些困扰。
比如说,你要使用React,你必须理解:
1、数据驱动,也叫双向数据绑定。
Vue.js数据观测原理在技术实现上,利用的是ES5Object.defineProperty和存储器属性: getter和setter(所以只兼容IE9及以上版本),可称为基于依赖收集的观测机制。核心是VM,即ViewModel,保证数据和视图的一致性。
2、组件系统。
.vue组件的核心选项:
1、模板(template):模板声明了数据和最终展现给用户的DOM之间的映射关系。
2、初始数据(data):一个组件的初始数据状态。对于可复用的组件来说,这通常是私有的状态。
3、接受的外部参数(props):组件之间通过参数来进行数据的传递和共享。
4、方法(methods):对数据的改动操作一般都在组件的方法内进行。
5、生命周期钩子函数(lifecycle hooks):一个组件会触发多个生命周期钩子函数,最新2.0版本对于生命周期函数名称改动很大。
6、私有资源(assets):Vue.js当中将用户自定义的指令、过滤器、组件等统称为资源。一个组件可以声明自己的私有资源。私有资源只有该组件和它的子组件可以调用。
等等。
共同点:
v-if
和 v-show
都是动态显示DOM元素。
区别:
1、编译过程:
v-if 是 真正 的 条件渲染,因为它会确保在切换过程中条件块内的事件监听器
和子组件
适当地被销毁
和重建
。v-show
的元素始终会
被渲染并保留在 DOM 中
。v-show
只是简单地切换
元素的 CSS 属性display
。
2、编译条件:
v-if 是惰性的:如果在初始渲染时条件为假,则什么也不做。直到条件第一次变为真时,才会开始渲染条件块。v-show
不管初始条件是什么,元素总是会被渲染,并且只是简单地基于 CSS 进行切换。
3、性能消耗:
v-if有更高的切换消耗。v-show有更高的初始渲染消耗
。
4、应用场景:
v-if适合运行时条件很少改变时使用。v-show适合频繁切换。
v-on (简写为@)指令常用修饰符:
注意: 如果是在自己封装的组件或者是使用一些第三方的UI库时,会发现并不起效果,这时就需要用`·.native修饰符了,如:
//使用示例:
v-bind (简写为:)指令常用修饰符:
v-model 指令常用修饰符:
//使用示例:
v-on的使用
v-on可以监听多个方法,例如:
但是同一种事件类型的方法,只会响应第一个,例如:
只会响应methodsOne
方法。
vue中 key 值的作用
key值:用于 管理可复用的元素。因为Vue
会尽可能高效地渲染元素,通常会复用已有元素而不是从头开始渲染。这么做使 Vue 变得非常快,但是这样也不总是符合实际需求。
2.2.0+ 的版本里,当在组件中使用 v-for 时,key 现在是必须的。
例如,如果你允许用户在不同的登录方式之间切换:
那么在上面的代码中切换loginType将不会清除用户已经输入的内容。因为两个模板使用了相同的元素,不会被替换掉,仅仅是
替换了它的 placeholder`。
这样也不总是符合实际需求,所以Vue
为你提供了一种方式来表达这两个元素是完全独立的,不要复用它们
。只需添加
一个具有唯一值的 key 属性
即可:
现在,每次切换时,输入框都将被重新渲染
。
vue-cli进行工程升级
前言:此命令谨慎使用,实际开发中如需升级建议直接使用 vue-cli 脚手架搭建,只需要了解即可!否则盲目升级可能会造成许多不必要的麻烦,比如webpack3和webpack4的特性及配置不同.所以谨慎使用!!!!!!!
推荐使用:
//升级插件
npm-check-updates
首先安装插件,建议用 npm 源安装,测试时用 cnpm 安装未下载成功:
npm install npm-check-updates -g
然后在待升级工程的目录结构下,命令行输入:
ncu
执行效果图:
然后升级所有版本,命令行输入:
ncu -a
再输入:
npm install