一、uniapp的mounted
mounted
是Vue生命周期的一个阶段,表示组件挂载到DOM上,可以在此阶段进行一些初始化工作,比如数据请求、DOM操作等。在uniapp中,每个页面都是一个组件,可以使用mounted
来进行相关的操作。
针对uniappdemo,我们可以在mounted
中进行数据的初始化、事件的绑定、定时器的启动等操作,代码示例如下:
<script>
export default {
mounted() {
// 数据初始化
this.data = this.$store.getters.getData;
// 事件绑定
this.$refs.btn.addEventListener('click', this.handleClick);
// 定时器启动
setInterval(() => {
this.time++;
}, 1000)
}
}
</script>
二、uniapp的moveview的scale
moveview
是uniapp的一个组件,用于使元素跟随手指移动并且支持缩放。在实际开发中,moveview
可以用来实现拖拽、缩放等功能,可以增强用户交互体验。
而scale
是moveview
的一个属性,用于设置缩放比例。
针对uniappdemo,我们可以使用moveview
来实现图片的拖拽和缩放功能,代码示例如下:
<template>
<movable-area>
<movable-view :scale.sync="scale" :style="{'width': itemWidth + 'rpx', 'height': itemHeight + 'rpx'}">
<img :src="imageUrl" mode="aspectFit" style="width: 100%;height: 100%;">
</movable-view>
</movable-area>
</template>
<script>
export default {
data() {
return {
imageUrl: 'xxx',
itemWidth: 200,
itemHeight: 200,
scale: 1
}
}
}
</script>
三、uniapp的默认下载路径
在uniapp中,我们可以使用downloadFile
API来下载网络资源并保存到本地。但是,如果不指定下载路径,该资源默认会下载到一个临时文件夹中,长时间不使用会被系统自动清理。
为了避免该问题,需要手动指定下载路径,可以使用uni.getStorageSync('downloadDirectory')
来获取默认下载路径,示例如下:
uni.downloadFile({
url: 'xxx',
success: res => {
uni.saveFile({
tempFilePath: res.tempFilePath,
filePath: uni.getStorageSync('downloadDirectory') + '/test.png',
success: res => {}
})
}
})
四、uniapp的模板选取
uniapp提供了丰富的模板组件,可以在快速开发中提升效率。针对uniappdemo,我们可以使用uni-icons
组件来引入阿里图标库中的图标。
步骤如下:
- 在uniCloud云函数中引入
iconfont.css
文件,并暴露接口; - 在uniapp中使用
uni-icons
组件引入图标。
// uniCloud云函数代码
exports.main = async (event, context) => {
return {
status: 200,
message: 'ok',
data: {
css: 'https://at.alicdn.com/t/font_xxxxxx.css'
}
}
}
<!-- uniapp组件代码 -->
<template>
<view>
<uni-icons type="xxx"></uni-icons>
</view>
</template>
<script>
import { getIconfont } from '@/uniCloud/apis';
export default {
data() {
return {
cssUrl: ''
}
},
mounted() {
this.getCssUrl();
},
methods: {
async getCssUrl() {
const res = await getIconfont();
if (res.status === 200) {
this.cssUrl = res.data.css;
}
}
}
}
</script>
<style>
@import url({{ cssUrl }});
</style>