前言

当我们搞定微信小程序之后总会下意识的提高点难度,要不要顺手把支付宝小程序也给搞定??这不,我来趟坑了。
以下问题只是我在转换过程中考虑到的和碰到的一些问题,但是应该也是大部分开发者会碰到的一些问题,欢迎大家阅读,有任何问题欢迎指正,欢迎评论区讨论。

一、微信小程序(wx)与支付宝小程序(alipay)区别

  1. 视图层页面:wxml —— axml
    (1)冒泡、非冒泡事件:
    bindtap —— onTap(驼峰命名)
    catchtouchstart —— catchTap
    (2)列表渲染:
    wx: for —— a: for
    wx: key —— key
    (3)条件渲染:
    wx: if —— a: if
    wx: else —— a: else

  2. 样式文件:wxss —— acss

  3. js 文件:js —— js
    (1)消息提示框:
    wx.showToast({ }) —— my.showToast({ })
    wx.hideToast() —— my.hideToast()
    (2)http请求:
    wx.request({ }) —— my.httpRequest({ })

  4. json 文件:json —— json
    enablePullDownRefresh —— pullRefresh

其实微信小程序和支付宝小程序提供的 api 方法大致相同,只是微信小程序是以 wx. 开头,支付宝小程序是以my. 开头,其余可能只是api方法里面字段 text、content、name、title 等命名不同。

微信小程序与支付宝小程序有很多相似之处,不论是组件还是api,或多或少都会感觉很亲近,所以小程序之间开发起来也是相对容易,只不过有一些区别,为大家推荐一篇文章来了解更多的两者之间开发的区别 浅谈支付宝小程序与微信小程序开发的区别

二、支付宝小程序父组件调用子组件方法

关于支付宝小程序中父组件调用子组件的方法,官方并没有给太多解释,并且查询资料也没有太多真实有效的解决方法,所以才准备记录一下以备日后使用。

思路:通过ref 来获取子组件上面的实例方法,通过注册子组件实例来调用子组件的方法。

// 1. 定义一个子组件 components.axml
<view>子组件实例</view>

// 2. 定义子组件方法 components.js
methods: {
	componentMothods(){
		// 子组件方法
	}
}

// 3. 在父组件json中引入子组件
{
  "usingComponents": {
	"components": "../../components/子组件路径"
  }
}

// 4. 在父组件中调用这个子组件
 <components ref='childMethods'/>
 
// 5. 在父组件js中注册子组件实例来调用子组件的方法
{
	childMethods(ref) {
		console.log(ref);
    	ref.componentMothods();
	}
}

通过上面的方法就可以实现父组件调用子组件的实例方法了。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐