拜读vue官方文档

个人博客网站欢迎交流:萤火之森:https://blog.xkongkeji.com

1、不要在生命周期函数上使用箭头函数

created: () => console.log(this.a) 
或 
vm.$watch('a', newValue => this.myMethod())

因为箭头函数并没有 this,this 会作为变量一直向上级词法作用域查找,直至找到为止,经常导致 Uncaught TypeError: Cannot read property of undefined 或 Uncaught TypeError: this.myMethod is not a function 之类的错误。

2、v-show 不支持 template 元素,也不支持 v-else。

3、当 v-if 与 v-for 一起使用时,v-for 具有比 v-if 更高的优先级。

4、使用修饰符时,顺序很重要(从左到右)

  • v-on:click.prevent.self 会阻止所有的点击,
  • v-on:click.self.prevent 只会阻止对元素自身的点击。

5、当一个 ViewModel 被销毁时,所有的事件处理器都会自动被删除。你无须担心如何清理它们。

6、prop 会在一个组件实例创建之前进行验证

所以实例的 property (如 data、computed 等) 在 default 或 validator 函数中是不可用的。

7、.sync 修饰符的 v-bind 不能和表达式一起使用

  • 例如 v-bind:title.sync=”doc.title + ‘!’” 是无效的。
  • 当我们用一个对象同时设置多个 prop 的时候,也可以将这个 .sync 修饰符和 v-bind 配合使用:
<text-document v-bind.sync="doc"></text-document>

将 v-bind.sync 用在一个字面量的对象上,例如 v-bind.sync=”{ title: doc.title }”,是无法正常工作的,因为在解析一个像这样的复杂表达式的时候,有很多边缘情况需要考虑。

8、注意这个 keep-alive 要求被切换到的组件都有自己的名字,不论是通过组件的 name 选项还是局部/全局注册。

9、refs 只会在组件渲染完成之后生效,并且它们不是响应式的。这仅作为一个用于直接操作子组件的“逃生舱”——你应该避免在模板或计算属性中访问 $refs。

10、mixin混入

  • 数据对象在内部会进行递归合并,并在发生冲突时以组件数据优先。
  • 同名钩子函数将合并为一个数组,因此都将被调用。另外,混入对象的钩子将在组件自身钩子之前调用。
  • Vue.extend() 也使用同样的策略进行合并。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值