wepy开发踩坑记录

与vue的不同

methods对象只存放tap等事件触发时的方法

events对象只存放$emit及$broadcast方法触发的事件

自定义方法及属性放在与methods平级的位置

 

props是动态时,不会更新数据

加上.sync的修饰符就可以解决(:prop.snyc='item')

 

同名组件共享同一实例及数据

循环渲染组件时,容易出现组件数据相互污染。可以用最外层的组件监听事件冒泡以修改数据,同时触发事件的组件用setTimeout包裹,保证执行顺序。

 

props传值

有些情况明明值已经传进去了,但是直接获取 this.propName 时却取不到数据,而从事件传值时却可以获取到数据,如

cancel: (sn) => {
  console.log(this.orderSn, sn)
}

该代码中 sn 由 this.orderSn 传值,但是 this.orderSn 为 undefined, sn 则为 "1711291235045825"

大部分情况直接由事件传值比较靠谱。

 

组件没有 onLoad 等页面事件

页面中设置好 this.$broadcast('someEvent', option);

组件监听事件则可以解决

 

转载于:https://www.cnblogs.com/NKnife/p/7551229.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值