1.9

完善案例

​
this.$nextTick(function () {
          this.$refs.input.focus()

        })
          
      }

​

//点击编辑直接获取焦点

this.$refs.input.focus()

 //但是这种写法 由于input是用v-show控制的 所以执行了上面代码 改变了isEdit值 但是不会立马去重新解析模板 input框还没有出来

 //将handleedit回调执行完之后才会去重新解析 所以获取焦点时还没有出现input框

 //使用上方方法 将模板重新解析 DOM更新完毕 input框出现在页面 再执行回调 将input框获取焦点

简单总结vue注意点

  1. root容器里的代码被称为Vue模板
  2. Vue实例与容器是一一对应的
  3. 真实开发中只有一个Vue实例,并且会配合着组件一起使用
  4. {{xxx}}中的xxx要写js表达式,且xxx可以自动读取到data中的所有属性
  5. 双向绑定一般都应用在表单类元素上(如:<input><select><textarea>等)
  6. v-model:value可以简写为v-model,因为v-model默认收集的就是value值
  7. el有2种写法:创建Vue实例对象的时候配置el属性  先创建Vue实例,随后再通过vm.$mount('#root')指定el的值
  8. 由Vue管理的函数,一定不要写箭头函数,否则this就不再是Vue实例了
  9. data中所有的属性,最后都出现在了vm身上
  10. vm身上所有的属性 及 Vue原型身上所有的属性,在Vue模板中都可以直接使用
  11. 事件的回调需要配置在methods对象中,最终会在vm上
  12. methods中配置的函数,不要用箭头函数!否则this就不是vm了
  13. methods中配置的函数,都是被Vue所管理的函数,this的指向是vm或组件实例对象
  14. 系统修饰键(用法特殊):ctrl、alt、shift、meta 配合keydown使用:正常触发事件

  15. 计算属性::要用的属性不存在,需要通过已有属性计算得来。原理:底层借助了Objcet.defineproperty()方法提供的getter和setter。计算属性最终会出现在vm上,直接读取使用即可

  16. 监视属性watch:当被监视的属性变化时,回调函数自动调用,进行相关操作监视的属性必须存在,才能进行监视

  17. 在watch中配置deep:true可以监测对象内部值的改变(多层)
  18. watch能完成的功能,computed不一定能完成,例如:watch可以进行异步操作
  19. 所有被Vue管理的函数,最好写成普通函数,这样this的指向才是vm 或 组件实例对象
  20. 所有不被Vue所管理的函数(定时器的回调函数、ajax的回调函数等、Promise的回调函数),最好写成箭头函数,这样this的指向才是vm 或 组件实例对象。
  21. 用index作为key可能会引发的问题:

    1. 若对数据进行逆序添加、逆序删除等破坏顺序操作:会产生没有必要的真实DOM更新 ==> 界面效果没问题, 但效率低
    2. 若结构中还包含输入类的DOM:会产生错误DOM更新 ==> 界面有问题
  22. 对象中后追加的属性,Vue默认不做响应式处理
  23. 如需给后添加的属性做响应式,请使用如下API:
    • Vue.set(target,propertyName/index,value)
    • vm.$set(target,propertyName/index,value)
    • Vue.set() 和 vm.$set() 不能给vm 或 vm的根数据对象(data等) 添加属性
  24. <input type="checkbox"/>没有配置value属性,那么收集的是checked属性(勾选 or 未勾选,是布尔值)
  25. 生命周期函数中的this指向是vm 或 组件实例对象
  26. 一般不会在beforeDestroy操作数据,因为即便操作数据,也不会再触发更新流程了

  27. school组件本质是一个名为VueComponent的构造函数,且不是程序员定义的,是Vue.extend生成的

    我们只需要写<school/>或<school></school>,Vue解析时会帮我们创建school组件的实例对象,即Vue帮我们执行的:new VueComponent(options)

    特别注意:每次调用Vue.extend,返回的都是一个全新的VueComponent!

  28. VueComponent.prototype.__proto__ === Vue.prototype

  29. ref属性:应用在html标签上获取的是真实DOM元素,应用在组件标签上获取的是组件实例对象(vc)

  30. props是只读的,Vue底层会监测你对props的修改,如果进行了修改,就会发出警告,若业务需求确实需要修改,那么请复制props的内容到data中一份,然后去修改data中的数据

  31. 组件上也可以绑定原生DOM事件,需要使用native修饰符

  32. 通过this.$refs.xxx.$on('atguigu',回调)绑定自定义事件时,回调要么配置在methods中,要么用箭头函数,否则this指向会出问题!

  33.  

 vuex

 

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值