当前位置:首页 > uni-app

uniapp学习代码

2026-02-06 01:04:45uni-app

uniapp基础项目结构

uniapp项目通常包含以下核心目录和文件:

  • pages:存放页面文件,每个页面是一个文件夹
  • static:存放静态资源如图片
  • App.vue:应用入口文件
  • main.js:应用主逻辑文件
  • manifest.json:应用配置信息
  • pages.json:页面路由配置

创建简单页面示例

pages/index目录下创建index.vue

<template>
  <view class="container">
    <text>{{ message }}</text>
    <button @click="changeMessage">点击修改</button>
  </view>
</template>

<script>
export default {
  data() {
    return {
      message: 'Hello uniapp'
    }
  },
  methods: {
    changeMessage() {
      this.message = '内容已更新'
    }
  }
}
</script>

<style>
.container {
  padding: 20px;
}
button {
  margin-top: 10px;
}
</style>

常用API调用示例

调用设备功能如获取位置:

uni.getLocation({
  type: 'wgs84',
  success: function (res) {
    console.log('当前位置:', res.latitude, res.longitude)
  }
})

发起网络请求:

uni.request({
  url: 'https://api.example.com/data',
  method: 'GET',
  success: (res) => {
    console.log('请求结果:', res.data)
  }
})

跨平台条件编译

针对不同平台编写特定代码:

// #ifdef H5
console.log('这段代码只在H5平台执行')
// #endif

// #ifdef MP-WEIXIN
console.log('这段代码只在微信小程序执行')
// #endif

组件使用示例

使用uniapp提供的UI组件:

<template>
  <view>
    <swiper :indicator-dots="true">
      <swiper-item v-for="(item, index) in images" :key="index">
        <image :src="item" mode="aspectFill"></image>
      </swiper-item>
    </swiper>
  </view>
</template>

<script>
export default {
  data() {
    return {
      images: [
        '/static/1.jpg',
        '/static/2.jpg',
        '/static/3.jpg'
      ]
    }
  }
}
</script>

路由跳转方法

页面间导航示例:

// 保留当前页面跳转
uni.navigateTo({
  url: '/pages/detail/detail?id=1'
})

// 关闭当前页面跳转
uni.redirectTo({
  url: '/pages/login/login'
})

// 返回上一页
uni.navigateBack()

状态管理示例

使用Vuex进行状态管理:

// store/index.js
import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    count: 0
  },
  mutations: {
    increment(state) {
      state.count++
    }
  }
})

在组件中使用:

uniapp学习代码

<script>
import { mapState, mapMutations } from 'vuex'

export default {
  computed: {
    ...mapState(['count'])
  },
  methods: {
    ...mapMutations(['increment'])
  }
}
</script>

标签: 代码uniapp
分享给朋友:

相关文章

vue实现通讯录代码

vue实现通讯录代码

实现思路 Vue实现通讯录的核心在于数据管理和组件交互。通常需要包含联系人列表、搜索功能、分组索引以及添加/编辑功能。 基本结构 创建Vue组件时需包含以下部分: 数据模型:存储联系人…

uniapp消息推送

uniapp消息推送

uniapp消息推送实现方法 uniapp支持多种消息推送方式,包括uniPush、个推、极光推送等。以下为常见实现方案: uniPush(官方推荐) uniapp官方提供的推送服务,基于DClou…

uniapp判断手机定位是否开启

uniapp判断手机定位是否开启

判断手机定位是否开启的方法 在UniApp中判断手机定位是否开启,可以通过调用原生API或使用第三方插件实现。以下是几种常见的方法: 使用uni.getLocation检测定位状态 通过调用uni.…

uniapp悬浮

uniapp悬浮

实现悬浮效果的方法 在UniApp中实现悬浮效果可以通过CSS的position: fixed或position: sticky属性结合动态样式控制来实现。以下是具体实现方式: 使用CSS固…

uniapp $on

uniapp $on

uniapp $on 方法详解 $on 是 UniApp 中用于监听全局事件的 API,常用于跨页面或跨组件通信。它基于 Vue 的事件机制,允许在全局范围内触发和监听自定义事件。 基本语法…

uniapp 线程

uniapp 线程

uniapp 线程的概念 在 uniapp 中,线程的概念与原生应用开发有所不同。由于 uniapp 是基于 JavaScript 的运行环境,它并不直接支持多线程操作。JavaScript 本身是单…