总结分享一些小程序开发中实用的小知识

1. 小程序开发中实用的小知识

1.1 屏幕适配与单位转换

在小程序开发过程中,屏幕适配和单位转换是一个不可避免的话题。小程序支持多种单位,如rpx、px、rem、em等,其中rpx是一种自适应单位,它可以根据屏幕宽度进行自适应。

在实际开发中,可以使用wx.getSystemInfoSync()方法获取屏幕信息,然后通过简单的计算来实现屏幕适配。下面是一个简单的例子:

const sysInfo = wx.getSystemInfoSync()

const screenWidthRpx = sysInfo.screenWidth // 获取屏幕宽度,单位rpx

const screenWidthPx = screenWidthRpx / 750 * wx.getSystemInfoSync().windowWidth // 转换为px

const ratio = screenWidthRpx / screenWidthPx // 计算rpx和px的比例

上面的代码中,screenWidthRpx代表屏幕宽度,单位为rpx;screenWidthPx代表屏幕宽度,单位为px;ratio则代表rpx和px的比例。

1.2 自定义组件

自定义组件是小程序中非常实用的功能,它可以将一些重复使用的代码封装成一个组件,方便代码的复用和维护。

自定义组件的开发步骤如下:

1. 在项目目录下新建一个文件夹,命名为components,用于存放自定义组件相关文件。

2. 在components目录下新建一个子文件夹,用于存放组件相关文件,如样式文件、js文件等。

3. 在上一步新建的子文件夹下新建一个以.wxml为后缀的文件,用于编写组件的结构。

4. 在上一步新建的子文件夹下新建一个以.js为后缀的文件,用于编写组件的逻辑。

5. 在需要使用自定义组件的页面.json文件中进行注册。

6. 在需要使用自定义组件的.wxml文件中进行引用。

下面是一个简单的例子:

在components目录下创建了一个名为my-component的文件夹,在这个文件夹下分别创建了一个以.wxml为后缀的文件和一个以.js为后缀的文件,其中,.js文件中需要对外暴露data、methods和properties对象,用于组件的数据和事件的绑定。

// my-component.js文件

Component({

data: {

name: 'my-component'

},

methods: {

handleClick() {

console.log('点击了my-component组件')

}

},

properties: {

text: {

type: String,

value: 'default value'

}

}

})

上面的代码中,data对象用于绑定组件的数据,methods对象用于绑定组件的事件,properties对象用于定义组件的属性。

1.3 setData方法

小程序中的页面数据是通过data对象来绑定的,当data对象中的数据发生变化时,页面也会随之更新。而setData方法可以动态修改data中的数据,从而触发页面的更新。

需要注意的是,使用setData方法更新数据时,需要将更新的数据放在一个对象中传递,而非单独传递一个值。下面是一个简单的例子:

Page({

data: {

message: 'Hello, World!'

},

handleButtonClick() {

this.setData({

message: 'Hello, Mini Program!'

})

}

})

上面的代码中,当点击按钮时,会调用handleButtonClick方法,该方法会通过setData方法更新message属性的值,从而触发页面的更新。

1.4 wx.request方法

在小程序中,需要与服务器进行交互,获取数据等。可以使用wx.request方法来实现网络请求。

wx.request方法接受一个对象作为参数,该对象包含了请求的相关信息,如url、method、header、data等。下面是一个简单的例子:

wx.request({

url: 'https://api.example.com/data',

method: 'GET',

success(res) {

console.log(res.data)

},

fail(err) {

console.log(err)

}

})

上面的代码中,当请求成功时,会调用success函数,并打印返回的数据;当请求失败时,会调用fail函数,并打印错误信息。

1.5 wx.navigateTo和wx.redirectTo方法

在小程序中,可以使用wx.navigateTo和wx.redirectTo方法来进行页面之间的跳转,其中wx.navigateTo会保留当前页面,而wx.redirectTo会关闭当前页面。

需要注意的是,跳转页面时,需要将页面路径放入跳转方法的参数中,路径以/开头。下面是一个简单的例子:

// 在当前页面跳转到pages/detail/detail页面

wx.navigateTo({

url: '/pages/detail/detail'

})

// 在当前页面关闭,跳转到pages/home/home页面

wx.redirectTo({

url: '/pages/home/home'

})

上面的代码中,分别演示了使用wx.navigateTo和wx.redirectTo方法来进行页面跳转。