uniapp蛋糕笔记

本文围绕uni-app开发展开,介绍了class数组表示、uni.setStorage本地存储、watch浅深监听、表单三要素、upx作用、uView组件库、路由跳转方法、公共组件生命周期、封装请求及web-view功能等内容,为uni-app开发提供实用技巧。

class用数组表示

<view :class="['box',isActive?'active':'']"></view>
<view :class="['box',{'active':isActive}]"></view>

uni.setStorage

使用uniapp的api进行本地存储,不要用localStorage

watch

watch分为浅监听和深监听,浅监听为函数写法,只能监听到表层的变化,深监听为对象写法,可以监听到深层的变化,基本写法如下

watch:{
//浅监听
 stu(){
...
},
//深监听
stuDeep:{
handler(){
...
 },
deep:true
}

}

表单三要素

form的submit事件,表单元素的name,提交按钮的form-type

<form @submit="handleSubmit">
   <input type='text' name='username'/>
   <button form-type='submit'>提交</button>
</form>

upx

upx的作用和rpx一样

uView组件库

uniapp用的组件库

路由跳转

与微信小程序的方法相似

uni.navigateTo及其路由传参,传参通过onLoad生命周期获取

uni.navigateBack自定义返回

uni.switchTab实现Tab页面访问

其他路由方法的运用

公共组件

公共组件不能用onLoad生命周期,组件的生命周期是vue的那套生命周期

封装请求

在utils文件夹下创建request.js,

// 统一地址前缀
let baseURL = 'https://api2105.h5project.cn'
export const $http = function(url, method = 'GET', data = {}) {
  // 用Promise进行封装
  return new Promise((resolve, reject) => {
    uni.request({
      url: baseURL + url,
      method,
      header: {
        "X-LC-Id": "7yoqQxyLBNN9MW5rsgTGXbHL-gzGzoHsz",
        "X-LC-Key": "hA8yGYuHjnXWRui1rzTe0C3P",
        "Content-Type": "application/json"
      },
      data,
      // 成功
      success: (res) => {
        resolve(res.data)
      },
      // 失败
      fail: (err) => {
        reject(err)
      }
    })
  })
}
// 封装get
export const $get = function(url, data = {}) {
  return $http(url, 'GET', data)
}
// 封装post
export const $post = function(url, data = {}) {
  return $http(url, 'POST', data)
}

在main.js进行全局挂载

// 挂载全局异步请求方法
 import {$http,$get,$post} from 'utils/request.js'
 Vue.prototype.$http = $http
 Vue.prototype.$get = $get
 Vue.prototype.$post = $post
import * as request from 'utils/request.js'
// 简化上面
for(let key in request){
	Vue.prototype[key] = request[key]
}

web-view

可以跳转到该网页的地址,显示链接内容,可以用来显示广告

<web-view src="网页地址"></web-view>

 

 

 

### UniApp 基础知识与开发技巧 UniApp 是一个使用 Vue.js 开发所有前端应用的框架,可以编译到 iOS、Android、Web 以及各种小程序等多个平台。它提供了一种高效的跨平台开发方式,使得开发者能够用一套代码实现多端部署。 在环境搭建方面,可以通过 HBuilderX 或者命令行工具来创建新项目。项目创建后,通常会有一个清晰的目录结构,包括但不限于页面文件、组件、静态资源等目录,这有助于组织和管理项目文件 [^1]。 配置文件中,`globalStyle` 用于设置全局样式,而 `pages` 数组则用来定义应用的页面路径和窗口样式。对于需要底部导航栏的应用,可以通过配置 `tabBar` 来实现 [^1]。 组件是构建用户界面的基础,UniApp 提供了丰富的内置组件,如 `text`、`view`、`button`、`image` 和 `map` 等,这些组件可以在不同平台上保持一致的行为 [^1]。 生命周期函数允许开发者在特定时刻执行相应的逻辑。例如,在应用启动时可以使用 `onLaunch`,而在页面加载完成后可以利用 `onReady` 来执行某些操作 [^2]。 API 接口提供了对设备功能的访问,比如网络请求、数据缓存、页面跳转以及媒体处理等功能。通过调用这些 API,可以增强应用程序的功能 [^1]。 对于布局问题,有时需要让某个元素占据屏幕剩余的空间。在这种情况下,可以使用 `uni.getSystemInfo` 获取系统信息,并结合 `uni.createSelectorQuery().select` 方法计算出元素的位置,从而动态设置其高度 [^2]。 条件编译是一种强大的特性,允许开发者根据目标平台编写特定的代码块,这样就可以针对不同的平台优化用户体验 [^3]。 在实际开发过程中,还有一些小技巧可以帮助提高效率。比如,使用 `v-if` 控制组件的创建与销毁,或者使用 `v-show` 来切换组件的可见性。此外,输入框可以通过 `v-model` 实现双向绑定,简化数据同步的过程 [^5]。 数据存储方面,可以使用 `uni.setStorageSync` 和 `uni.getStorageSync` 进行同步的数据存取操作 [^5]。 网络请求是任何现代应用不可或缺的一部分,UniApp 也提供了相应的 API 来支持这一功能 [^5]。 ```javascript // 示例:使用uni.request进行网络请求 uni.request({ url: 'https://api.example.com/data', method: 'GET', success: (res) => { console.log('请求成功:', res.data); }, fail: () => { console.error('请求失败'); } }); ``` ### 开发技巧 - 使用条件编译可以让应用更好地适配不同平台。 - 利用 Vue 的指令如 `v-if` 和 `v-show` 可以有效地控制组件状态。 - 对于需要频繁访问的数据,可以考虑使用本地缓存策略以减少不必要的网络请求。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值