本文共 2672 字,大约阅读时间需要 8 分钟。
1.插值表达式存在的问题:“闪动”
2.如何解决该问题:使用v-cloak指令 3.解决该问题的原理:先隐藏,替换好值之后再显示最终的值
示例:
[v-cloak] { display: none;}
{ { message }}
示例:
{ {msg}}
① 存在安全问题
② 本网站内部数据可以使用,来自第三方的数据不可以用 示例:① 显示原始信息,跳过编译过程(分析编译过程)
示例:{ { this will not be compiled }}
① 显示内容之后不再具有响应式功能
②只渲染元素和组件一次。随后的重新渲染,元素/组件及其所有的子节点将被视为静态内容并跳过。这可以用于优化更新性能。This will never change: { {msg}}comment
{
{msg}}
双向数据绑定
Message is: {
{ message }}
一般写法
简写
直接绑定函数名称
调用函数
这里的 e v e n t 是 固 定 写 法 , 如 果 没 有 参 数 传 递 , 那 么 默 认 第 一 个 参 数 是 event是固定写法,如果没有参数传递,那么默认第一个参数是 event是固定写法,如果没有参数传递,那么默认第一个参数是event,没有写$event也是。
stop 阻止冒泡
跳转
prevent 阻止默认行为
跳转
enter 回车键
esc 退出键
全局 config.keyCodes 对象
Vue.config.keyCodes.f1 = 112
v-bind指令用法
跳转
缩写形式
跳转
对象语法
数组语法
对象语法
数组语法
v-if
v-else v-else-if v-showv-if控制元素是否渲染到页面
v-show控制元素是否显示(已经渲染到了页面)v-for遍历数组
(没写也没事,就是降低效率)key的作用:帮助Vue区分不同的元素,从而提高性能
v-for遍历对象
v-if和v-for结合使用
number:转化为数值
trim:去掉开始和结尾的空格 lazy : 将input事件切换为change事件,input事件是及时操作的,而change事件是鼠标失去失去焦点才启动,所以change事件比input事件慢,因而叫lazyVue.directive('focus' { inserted: function(el) { // 获取元素的焦点 el.focus(); }})
Vue.directive(‘color', { inserted: function(el, binding) { el.style.backgroundColor = binding.value.color; }})
Document
computed: { reversedMessage: function () { return this.msg.split('').reverse().join('') }}
计算属性与方法的区别
计算属性是基于它们的依赖进行缓存的 方法不存在缓存
watch: { firstName: function(val){ // val表示变化之后的值 this.fullName = val + this.lastName; }, lastName: function(val) { this.fullName = this.firstName + val; } }
① beforeCreate 在实例初始化之后,数据观测和事件配置之前被调用。
② created 在实例创建完成后被立即调用。 ③ beforeMount 在挂载开始之前被调用。 ④ mounted el被新创建的vm.$el替换,并挂载到实例上去之后调用该钩子。 ⑤ beforeUpdate 数据更新时调用,发生在虚拟DOM打补丁之前。 ⑥ updated 由于数据更改导致的虚拟DOM重新渲染和打补丁,在这之后会调用该钩子。 ⑦ beforeDestroy 实例销毁之前调用。 ⑧ destroyed 实例销毁后调用。转载地址:http://bwmzi.baihongyu.com/