学习

25 阅读2分钟

vue的优点: 组件化,渐进式,虚拟dom,VMMV vue和react的异同点 都是单向数据流,都是组件式开发,都是服务端渲染,都使用了虚拟dom。 不同,vue的双向绑定,react是导单向绑定。react用JSX,vue用template。redux和vuex。 vue的修饰符 v-model.lazy输入框数据改变时,value不会直接改变,当光标离开输入框时,value才改变 v-model.trim去掉value首尾空格 v-model.number @click.stop:阻止事件冒泡 @click.capture:从外向内输出 @click.self:只有点击事件自身才会触发事件 @click.prevent:阻止事件的默认事件,如a标签的跳转 @click.once:点击事件只执行一次 @click.native在自定义的组件上,确保事件可以执行 监听事件滚动时,会一直触发onScroll,如果使用@scroll.passive=“onScroll”会相当于给onscroll事件加上一个.lazy的修饰符。 @keyup.keyCode点击按钮触发事件 父传子数据,子组件想更新这个值,用.sync就可以。 .camel:确保父传子的参数被识别为驼峰写法:valueGive.camel=“value” 子组件会识别为valueGive,而不是valuegive 路由的模式:hash,通过触发hashchange事件,来触发路由切换。 history,通过pushState和replaceState来实现路由切换。 v-if会根据true和false真实的渲染真实dom到页面上,实现组件元素的添加与删除。v-show会将真实dom渲染到页面上,然后通过display:none来显示控制对象的显示与隐藏。 computed会监听多个响应式数据,通过计算返回一个响应式数据,有缓存,不能执行异步操作,依赖值不变不会触发重新计算。 watched函数会监听一个响应式数据,通过执行对应的回调函数对响应式数据进行操作,没有缓存,每次数据改变都会执行一遍回调函数,可以进行异步操作。 beforeCreate()可以访问this.optionscreated()可以访问data,methods,computed,propsbeforeMount()可以访问data,methods,props,computedmounted()可以访问所有实例属性,options created()可以访问data,methods,computed,props beforeMount()可以访问data,methods,props,computed mounted()可以访问所有实例属性,el 可以启动第三方库,设置监听器。 beforeUpdated()可以访问所有的实例属性,未更新前的dom元素。 updated()访问所有的实例属性,更新后的dom元素。 beforeDestory() 可以访问所有的实例属性,清除定时器,移除监听器 destoryed()所有实例属性不可访问,$el仍然可以访问 一般将字符串取反:str.split("").reverse().join("") vue2不推荐v-for和v-if一起使用,因为v-for的优先级高于v-if,先将数组数据渲染出来再移除不符合条件的元素,会增加渲染dom元素的消耗。 require.resolve()可以模拟加载第三方包,但不实际加载第三方包,例如require.resolve(lodash)