beforeCreate/created
、beforeMount/mounted
、beforeUpdate/updated
、beforeDestory/destoryed
v-for
、v-bind
(缩写形式:prop
)、v-on
(缩写形式@click=’sss'
)、v-if/v-else/v-else-if
、v-model
、v-once
、v-html
、v-show
...Vue.component(‘componentName',{ props:[‘p1’,’p2’], template: ‘<li>{{ p1 }}</li>' })
data/$data
、methods/$methods
、$el
、computed
(计算属性)、$watch
、$set
、$event
、$emit
...methods
里的方法来更新属性(methods
里的方法每次从新渲染都会执行)getter
,你还能够给它设置setter
watch
侦听器来响应数据的变化v-bind:class
的值能够是一个对象,可实现相似react
中classnames
模块的功能class
会被渲染拼接到template
的根节点的class
属性上(自定义组件上可以使用v-bind:class
来作class的判断显示逻辑)v-bind:style
能够用来绑定内联样式,这个内联样式的值能够由一个对象来定义(相似css in js的模式),且能够被定义为数组(多个样式对象)v-bind:style
可使用多重值的形式:<div :style=“display:[‘-webkit-box’,’-ms-flexbox’, ‘flex']"></div>
v-if/v-else/v-else-if
的时候,能够用key来管理可复用的元素v-if
是’真正’的渲染,它会确保在切换条件过程当中条件块内的元素的事件监听器和子组件适时的销毁和重建v-if
是惰性的,初始为假,什么也不作,直到为真的时候才渲染元素v-show
老是渲染元素,只是简单的进行切换v-if
的切换开销大,v-show
则是初始渲染开销大,频繁切换使用v-show
,运行时常常改变则使用v-if
v-if
和v-for
一块儿使用时,v-for
的优先级更高v-for
可遍历数组,第二个参数是索引v-for
可遍历对象,第二个参数是key
,第三个参数是索引v-for
和<template>
搭配可减小渲染次数v-for
和自定义组件使用时,须要使用props
来传递值key
,得到渲染优化push/pop/unshift/shift/splice/sort/reverse
改变原始数组filter/concat/slice
不改变原始数组,老是返回新数组vm.$set
解决)和修改length
长度赋值(使用splice
解决)的状况vm.$set
或Object.assign
)is=“todo-item”
这种属性的写法比较适合DOM模板.stop
、.prevent
、.capture
、.self
、.once
、.passive
(尤为适合移动端).passive
不用同时和.prevent
使用,后者会被忽略.enter
、.tab
、.delete
、.esc
、.space
、.up
、.down
、.left
、.right
.ctrl
、.alt
、.shift
、.meta(⌘|⊞|◆)
、.exact
(容许精确控制系统修饰符组合键触发).left
、.right
、.middle
v-model
会忽略表单元素的value
、checked
、selected
,仅仅使用实例中的数据做为数据源.lazy
、.number
、.trim
Vue.component()
全局注册的组件可在其被注册后的任何经过new Vue()
建立的实例所使用,包含其组件树中的全部组件<slot>
分发内容(其实就是相似于react的children)<component>
配合属性is
来实现camelCase
的属性能够在组件中使用kebab-case
props
属性的类型props
的更新会向下流动,反之则不行instanceof
检查inhertAttrs:false
设置不但愿根元素继承特性,可使用$attrs
属性来设置继承的目标元素v-on
在设置事件监听器时,会把事件名所有转换成小写,推荐始终使用kebab-case
的事件名v-model
可使用自定义组件中的model
属性自定义<slot></slot>
)/具名插槽(<slot name=“header"></slot>
)/做用域插槽(slot/slot-scope
)<keep-alive>
组件可用来缓存被切换后隐藏的组件的状态$root
访问根实例,$parent
访问父组件实例(不推荐)$refs
属性来获取设置了ref
属性的子组件provide
属性容许咱们指定要分享给后代组件使用的方法,而后后代组件使用inject
属性来得到祖先组件分享的方法(依赖注入)事件侦听器($emit
派发的事件)css
v-on
指令侦听$on
侦听一个事件$once
一次性侦听一个事件$off
中止侦听一个事件template
来定义模板,而不是inline-template
$forceUpdate
来强制更新viewv-once
来标记,缓存静态内容transition
组件控制过渡动画,能够给任何元素和组件添加进入/离开过渡当插入或删除transition
中的元素时,vue会作以下处理html
过渡的类名vue
v-enter/v-enter-active/v-enter-to
v-leave/v-leave-active/v-leave-to
v-enter
不会在DOM插入后当即删除,而是在animationend
事件触发时删除自定义过渡类名,使用如下属性指定:node
enter-class/enter-active-class/enter-to-class
leave-class/leave-active-class/leave-to-class
typ
e属性设置transition
或animation
来申明vue使用的动画类型transition
组件上使用duration
来设置动画执行的时间可使用钩子函数react
beforeEnter/enter/afterEnter/enterCancelled
beforeLeave/leave/afterLeave/leaveCancelled
v-on
指令绑定enter/leave
中,必须使用done()
来进行回调,不然会同步调用,过渡或动画会当即完成v-bind:css=“false”
来取消css的检测,减小css的影响可以使用apear
设置初始渲染的过渡webpack
apear/apear-active/apear-to
beforeApear/apear/afterApear/apearCancelled
key
过渡模式:git
In-out
新元素先过渡,完成后当前元素过渡离开out-in
当前元素先过渡,完成后新元素过渡进入默认行为
:进入和离开同时发生列表过渡 <transition-group>
github
<span>
,可以使用tag更改呈现标签key
FLIP
动画,使用类名v-move
来定义classmixins
混入属性发生冲突时,以组件数据优先(一层属性深度浅合并)mixins
混入方法发生冲突时,会将函数合并为一个数组,优先执行混入方法,其次执行组件方法Vue.extend
策略和mixins
相同vuex
的具体实现:Vue.config.optionMergeStrategies
)Vue.directive()
directives
,类型为Object
钩子函数web
钩子函数都会被传入如下参数:vue-router
Vnode
,仅在update
和componentUpdated
中使用render
函数接受createElement
方法做为参数createElement
方法的做用是建立一个虚拟节点(VNode)createElement
参数比较复杂,参照官网:参数VNodes
必须惟一v-if/v-for
可使用if/else
和map
重写this.$slot.default
访问,做用域插槽使用this.$scopeSlots.default
访问和设置babel-plugin-transform-vue-jsx
支持JSX语法createElement
的别名是Vue生态的一个惯例,也是JSX要求的render
方法实现的VNode
,可使用Vue.compile()
方法来输出编译结果插件会为vue提供全局的功能,包括但不限于如下几种:
mixins
添加一些组件选项,如:vue-routerVue.prototype
上实现install
,第一个参数是Vue构造器,第二个参数是一个可选对象。Vue.use(MyPlugin)
使用,只会注册一次插件Vue.use
方法{{ msg | filter }}
<div v-bind=“msg | filter"></div>
<script>
标签引入[vue.min.js](https://vuejs.org/js/vue.min.js)
使用vue-cli
Vue.config.errorHandler
定义配置来跟踪运行时错误,能够搭配[Sentry](https://sentry.io/)
使用(集成配置).vue
文件)