- 从零开始学习uniapp跨端开发
- 前端基础
- UniApp 概述
- UniApp 基础
- UniApp 路由与导航
- UniApp 中的状态管理——Vuex 使用详解
- UniApp 网络请求详解
- UI 组件库
- UniApp 平台适配详解:支持多端的特性和实现
- UniApp 多端部署详解:H5、App 和小程序的发布流程及调试工具
- UniApp 性能优化指南:加载性能优化、代码拆分与 Lazy Loading 技术
- UniApp 调试与测试指南:使用 HBuilderX 进行调试、单元测试与集成测试
- UniApp 实战项目:开发一个完整的跨端应用
UniApp 基础
class uniapp目录结构和文件介绍
UniApp 的项目结构清晰,主要包含以下几个部分:
├── components // 存放自定义组件
├── pages // 页面文件夹,每个页面一个文件夹
├── static // 存放静态资源,如图片、字体
├── uni_modules // 依赖的 uni_modules
├── App.vue // 应用的主组件
├── main.js // 应用的入口文件
- App.vue:主组件,所有页面的共同父组件,通常用于全局样式和逻辑处理。
- pages/:每个页面以
.vue
文件形式存在,可以包含页面的逻辑、样式和模板。 - components/:存放可复用的自定义组件。
- static/:存放不需要经过 webpack 处理的静态资源,如图片和字体。
页面布局
在 UniApp 中,页面布局通常使用 <view>
组件来承载其他元素。
示例代码:
<template>
<view class="container">
<text class="title">欢迎来到 UniApp!</text>
<image src="@/static/logo.png" mode="widthFix"></image>
</view>
</template>
<style>
.container {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100vh;
}
.title {
font-size: 24px;
margin-bottom: 20px;
}
</style>
使用 <view>
、<text>
、<image>
等组件
<view>
:用于创建容器,支持 CSS 布局。<text>
:用于展示文本内容。<image>
:用于展示图片,支持多种模式(如aspectFit
、widthFix
等)。
示例代码:
<template>
<view class="content">
<text>这是一个示例文本</text>
<image src="https://example.com/image.png" mode="aspectFit"></image>
</view>
</template>
数据绑定
UniApp 支持 Vue 的数据绑定,可以通过 {{}}
语法绑定数据。
示例代码:
<template>
<view>
<text>{{ message }}</text>
<button @click="updateMessage">更新消息</button>
</view>
</template>
<script>
export default {
data() {
return {
message: 'Hello, UniApp!'
};
},
methods: {
updateMessage() {
this.message = '消息已更新!';
}
}
};
</script>
v-model 和事件处理
v-model
用于实现双向数据绑定,通常用于表单输入元素。
示例代码:
<template>
<view>
<input v-model="inputValue" placeholder="请输入内容" />
<text>您输入的内容是:{{ inputValue }}</text>
</view>
</template>
<script>
export default {
data() {
return {
inputValue: ''
};
}
};
</script>
组件
UniApp 支持组件化开发,使用组件可以提升代码复用性和可维护性。
自定义组件的创建和使用
-
在
components
文件夹中创建一个自定义组件MyButton.vue
:<template> <button @click="handleClick">{{ label }}</button> </template> <script> export default { props: ['label'], methods: { handleClick() { this.$emit('click'); } } }; </script>
-
在页面中使用自定义组件:
<template> <view> <MyButton label="点击我" @click="buttonClicked"></MyButton> </view> </template> <script> import MyButton from '@/components/MyButton.vue'; export default { components: { MyButton }, methods: { buttonClicked() { uni.showToast({ title: '按钮被点击了!' }); } } }; </script>
生命周期
组件的生命周期指组件从创建到销毁的过程,UniApp 也遵循 Vue 的生命周期概念。
组件的生命周期函数
常用的生命周期函数有:
created
:组件创建时调用。mounted
:组件挂载到 DOM 后调用。beforeDestroy
:组件销毁前调用。
示例代码:
<template>
<view>
<text>{{ message }}</text>
</view>
</template>
<script>
export default {
data() {
return {
message: '组件正在加载...'
};
},
created() {
console.log('组件创建');
},
mounted() {
this.message = '组件已加载!';
console.log('组件挂载');
},
beforeDestroy() {
console.log('组件即将销毁');
}
};
</script>
总结
通过以上内容,你了解了 UniApp 的基本结构和组件使用方式。掌握这些基础知识后,你可以更有效地构建跨端应用,提升开发效率。随着进一步的学习和实践,你将能充分利用 UniApp 的强大功能。
评论区
评论列表
{{ item.user.nickname || item.user.username }}