赞
踩
本博客为 [uni-app]( 此门课的跟学笔记,目的是便于个人复习和对知识快速索引,源码素材可在均可在视频评论区找到
<template> <view> <view> 样式的学习 </view> <view class="box1"> Test <text>hhh</text> </view> </view> </template> <!-- 同样支持scss,如果没法用,要点击工具,下拉菜单中有插件安装中下载scss插件 --> <style lang="scss"> /* 支持的选择器有class/id/element维度不支持"*" */ /* import引入外联样式表 */ @import url("uni-style.css"); /* rpx是响应式px,自适应屏幕宽度的动态单位,750宽的屏幕750rpx恰为屏幕宽度 */ .box1 { width: 750rpx; height: 750rpx; background-color: #0000FF; text { color: $global-color; // 在uni.scss中配置的全局变量 } } </style>
因为uni-app中都是基于vue文件开发页面,所以这部分补充vue的基础语法
export default {
data () {
return {
msg: 'hello-uni'
}
}
}
插值表达式的使用
案例代码
<template> <view> <!-- 4:事件注册的学习 --> <button type="primary" v-on:click="clickHandle">不带参,默认传递事件对象e</button> <button type="primary" v-on:click="clickHandle2(20)">传递参数,和变量名无关</button> <button type="primary" v-on:click="clickHandle3(20,$event)">传递参数和事件对象</button> </view> </template> <script> export default { data() { return { } }, methods: { // 如果没有传递参数,那么默认拿到的就是事件对象 clickHandle(e) { console.log('点击事件',e); }, // 接受的时候和变量名无关 clickHandle2(e) { console.log('拿到的数字是',e); }, // 接受参数和事件对象 clickHandle3(num,e) { console.log('拿到的数字是:',num,'事件对象:',e); } } } </script>
<script> export default { onLaunch: function() { console.log('App Launch') }, onShow: function() { console.log('App Show') }, onHide: function() { console.log('App Hide') }, // 以上三个应用生命周期是项目自带的 onError: function(err) { console.log('出现报错:',err) } } </script> <style> /*每个页面公共css */ /* App.vue中的style是各页面共同拥有的样式 */ /* 当然每个页面在自己的style中书写可以覆盖全局样式 */ </style>
<script> export default { data() { return { title: 'Hello' } }, // onLoad中添加一个参数可以拿到从上一个页面跳转过来的信息 onLoad(options) { console.log('页面加载了',',上一个页面的信息:',options); }, onShow() { console.log('页面显示了'); }, onReady() { console.log('页面初次渲染完成'); }, onHide() { console.log('页面隐藏了') }, methods: { } } </script>
除了一些基础的页面生命周期函数,还有几个比较常用的单独介绍
<template> <view> 列表页 <view v-for="(item,index) in list" :key="index"> {{item}} </view> </view> </template> <script> export default { data() { return { list: ['暮光闪闪','柔柔','瑞瑞'] } }, // 注意onPullDownRefresh和页面生命周期函数同级,可以直接写在methods之外 onPullDownRefresh() { console.log('触发下拉刷新') this.list=['暮光公主','柔柔','瑞瑞'] // 此处可以添加一个定时器,因为数据刷新速度很快,可以更加丝滑 uni.stopPullDownRefresh() // 停止下拉事件(光标旋转) }, methods: { } } </script>
<template> <view> <button type="primary" v-on:click="Refresh">点击触发下拉刷新事件</button> </view> </template> <script> export default { data() { return { list: ['暮光闪闪','柔柔','瑞瑞'] } }, // 注意onPullDownRefresh和页面生命周期函数同级,可以直接写在methods之外 onPullDownRefresh() { console.log('触发下拉刷新') this.list=['暮光公主','柔柔','瑞瑞'] // 此处可以添加一个定时器,因为数据刷新速度很快,可以更加丝滑 uni.stopPullDownRefresh() // 停止下拉事件(光标旋转) }, methods: { Refresh() { uni.startPullDownRefresh(); // 内置下拉页面刷新函数 } } } </script>
<script> export default { data() { return { list: ['Twilight Sparkle','Apple Jack','Rainbow Dash', 'Rarity','Fluttershy','Pinkie Pie','Starlight Glimmer', 'Apple Bloom','Sweetie Belle','Big Mac' ] } }, onReachBottom() { console.log('触发页面触底') // "..." 扩展运算符,向原数组中添加新的内容,ES6新特性 this.list=[...this.list,...['RoysterCDD','Serendipityyy']] } } </script>
<template> <view> <text>数据回显</text> <!-- <view>{{getList}}</view> --> <!-- 渲染请求拿到的数据,解析JSON数据 --> <view v-for="(item,index) in getList" :key="item.id" class="box-item"> <view>{{item.id}}</view> <view>{{item.name}}</view> </view> <button @click="sendGet"> 发送请求 </button> </view> </template> <script> export default { data() { return { getList: [], // 存储get请求拿到的数据 } }, methods: { sendGet() { // 将Vue实例的上下文存储到self变量中 let self=this; uni.request({ url: 'http://localhost:8082/depts', // 如果发送请求成功 // 注意,在success回调函数中,this不再指向Vue实例,所以需要提前保存到self中 success(data) { console.log(data); if(data.data.code===1) { self.getList=data.data.data; } else { console.error('接口请求失败'); } console.log('测试',self.getList) }, fail(err) { console.error('发送请求失败',err); } }) } } } </script> <style> .box-item { background-color: skyblue; } </style>
<template> <view> 数据缓存 <view>以下为异步接口</view> <button type="primary" @click="setStorage">存储数据</button> <button type="primary" @click="getStorage">根据键获取数据</button> <button type="primary" @click="removeId">根据键移除数据</button> <view>以下为同步接口</view> <button type="primary" @click="setStorageSync">存储数据</button> <button type="primary" @click="getStorageSync">根据键获取数据</button> <button type="primary" @click="removeIdSync">根据键移除数据</button> <!-- 还有一个clearStorage清空本地所有数据,用的少,不多阐释 --> </view> </template> <script> export default { data() { return { } }, methods: { // 存储数据(异步) setStorage() { uni.setStorage({ key: 'id', data: 80, success() { console.log('存储成功') } }) }, // 存储数据同步 setStorageSync() { uni.setStorageSync('id',100); }, // 获取数据(异步) getStorage() { uni.getStorage({ key: "id", // 改成res? success(data) { console.log("获取成功:>", data) } }) }, // 获取数据(同步) getStorageSync() { const res=uni.getStorageSync('id'); console.log(res); }, // 移除数据(异步) removeId() { uni.removeStorage({ key: 'id', success() { console.log("删除成功!") } }) }, // 移除数据(同步) removeIdSync() { uni.removeStorageSync('id'); } } } </script> <style> </style>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。