uni-app入门并使用学习

news2024/12/23 10:25:05

笔记课程

工具准备

下载HBuilderX 点击下载HBuilderX

下载微信开发者工具 点击下载微信开发者工具

使用参考uni-app官网 官网

新建项目运行

文件---新建----项目

运行到谷歌浏览器H5

运行------谷歌浏览器打开---打开成功(第一次可能需要安装插件,自行安装后第二次再编译,即可成功)

运行到微信开发者工具

运行-------开发者工具打开会有以下两个问题:

第一次会需要填写开发者工具路径 (运行--运行到小程序---运行设置---填写微信开发工具路径)

开发者工具里面打开运行端口(设置--安全设置---打开服务端端口)

mac使用HBuilderX第一次运行uni-app参考

运行到手机

首先用数据线连接手机

点击运行,运行到手机,选择自己的设备,手机同意安装,编译成功。

均运行成功:

                                

项目目录和文件作用

总结:开发规范==》是vue和微信小程序的组合

全局配置page.json

参考uni-app官网

更多配置参考官网

新建页面

在pages文件夹下新建文件:

eg:新建message-->message.vue

在page.json中的pages:[{},{}]说明,每项有path,style配置特别的页面,如下:更多属性参考官网

{
	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
		{
		    "path" : "pages/message/message",
		    "style" :                                                                                    
		    {
		        "navigationBarTitleText": "消息",
		        "enablePullDownRefresh": true,
				"navigationBarBackgroundColor": "#4dd4d4"
		    }
		    
		},
		{
			"path": "pages/index/index",
			"style": {
				"navigationBarTitleText": "首页"
			}
		}
	    
    ],
	"globalStyle": {
		"navigationBarTextStyle": "black",
		"navigationBarTitleText": "云上小店",
		"navigationBarBackgroundColor": "#F8F8F8",
		"backgroundColor": "#F8F8F8"
	},
	"uniIdRouter": {}
}

 配置tabbar

 参考代码:

"tabBar": {
	"color": "#7A7E83",
	"selectedColor": "#3cc51f",
	"borderStyle": "black",
	"backgroundColor": "#ffffff",
	"list": [{
		"pagePath": "pages/component/index",
		"iconPath": "static/image/icon_component.png",
		"selectedIconPath": "static/image/icon_component_HL.png",
		"text": "组件"
	}, {
		"pagePath": "pages/API/index",
		"iconPath": "static/image/icon_API.png",
		"selectedIconPath": "static/image/icon_API_HL.png",
		"text": "接口"
	}]
}

condition启动配置

在page.json中配置condition

运行小程序中下拉选择直接打开详情页: 

uni-app组件的使用

组件:搭建页面的基本结构  uni-app组件参考

常用组件

view相当于HTML中的div 了解一下

text文本组件 selectable文本是否可选

button按钮组件  了解一下

 image组件 了解一下

 uni-app样式 

 uni-app数据绑定  

跟vue一模一样,在data中直接定义数据就可以,使用v:bind简写:bind

 v-bind使用  跟vue中一样绑定属性

 v-for 同 循环数组数据 跟vue中一样

 uni-app绑定事件

跟vue中一样 v-on:click="func()"    或@click="func()"

事件对象:不传参默认第一个为e 或者 通过$event传事件对象

uni-app生命周期

应用生命周期

onLaunch:初始化调用一次   onShow:多次调用     onHide       onError  

测试调用:

页面生命周期

onLoad 触发一次    onShow触发多次   onHide 多次调用

 下拉刷新

详见 下拉刷新了解

 触发下拉刷新 

pages里面  

enablePullDownRefresh :true 

页面中调用:

uni.startPullDownRefresh()  //开启下拉刷新

uni.stopPullDownRefresh()  //停止下拉刷新

 上拉加载

一般用于触底加载数据

设置触底距离

onReachBottomDistance:200 距离底部200预加载数据

 页面调用onReachBottom(){}

 网络请求

uni.request  网络请求

 数据缓存  

数据缓存

uni.setStorage 

异步接口  示例:

uni.setStorage({
	key: 'storage_key',
	data: 'hello',
	success: function () {
		console.log('success');
	}
});

uni.removeStorage 

异步接口  示例:

uni.removeStorage({
	key: 'storage_key',
	success: function (res) {
		console.log('success');
	}
});

更多参考官网文档……

图片上传及预览

上传图片  uni.chooseimage  详解

示例:

uni.chooseImage({
	count: 6, //默认9
	sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
	sourceType: ['album'], //从相册选择
	success: function (res) {
		console.log(JSON.stringify(res.tempFilePaths));
	}
});

预览图片 uni.previewImage

使用示例:

条件注释跨端兼容

h5 小程序有一些需求差异或者是uni-app本身差异

ifdef 适配    endif

html注释

 js注释

css注释

导航跳转和传参

 声明式导航  利用navigator  去了解

open-type="switchTab" 才能跳转tabbar页面

示例:

<template>
	<view>
		<view class="page-body">
			<view class="btn-area">
				<navigator url="navigate/navigate?title=navigate" hover-class="navigator-hover">
					<button type="default">跳转到新页面</button>
				</navigator>
				<navigator url="redirect/redirect?title=redirect" open-type="redirect" hover-class="other-navigator-hover">
					<button type="default">在当前页打开</button>
				</navigator>
				<navigator url="/pages/tabBar/extUI/extUI" open-type="switchTab" hover-class="other-navigator-hover">
					<button type="default">跳转tab页面</button>
				</navigator>
			</view>
		</view>
	</view>
</template>
<script>
// navigate.vue页面接受参数
export default {
	onLoad: function (option) { //option为object类型,会序列化上个页面传递的参数
		console.log(option.id); //打印出上个页面传递的参数。
		console.log(option.name); //打印出上个页面传递的参数。
	}
}
</script>

编程式导航 去了解

uni.navifateTo

保留当前页面,跳转到应用内的某个页面,使用uni.navigateBack可以返回到原页面。

示例:

//在起始页面跳转到test.vue页面并传递参数
uni.navigateTo({
	url: 'test?id=1&name=uniapp'
});

uni-switchTab

跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。

示例:

uni.switchTab({
	url: '/pages/index/index'
});

uni-app创建组件

基本跟vue创建组件一样

//页面引入
import test from './components/test'

//注册组件
components:{
   test
}

//页面使用
<test></test>

组件生命周期  基本跟vue一致

 组件通讯方式

跟vue相似,父传子,属性方式

父传子,通过属性的方式

子传父,通过$emit触发事件的方式

//调用子组件
<test :father="father" @sonClick="sonClick"></test>


//子组件接收父组件值
props:['father']


子组件
this.$emit("sonClick",'测试传父组件值');  //触发事件,传值给父组件


//父组件-------子组件传值给父组件
methods:{
sonClick(info){
  console.log(info):
}

兄弟组件之间传值(就是vue组件中的event bus)
示例:

//全局触发事件
uni.$emit('update',10);
//接收事件
uni.$on('update',(info)=>{
  //...逻辑
})

uni-ui组件库使用

扩展组件使用  了解

去插件市场  点击前往插件市场

示例日历插件  日历插件

导入插件 

选择项目自动导入

组件使用

引入

注册 

使用

  <uni-calendar 
    :insert="true"
    :lunar="true" 
    :start-date="'2019-3-2'"
    :end-date="'2019-5-20'"
    @change="change"
     />

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/372194.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

React(三) ——新、旧生命周期

&#x1f9c1;个人主页&#xff1a;个人主页 ✌支持我 &#xff1a;点赞&#x1f44d;收藏&#x1f33c;关注&#x1f9e1; 文章目录⛳React生命周期&#x1f30b;初始化阶段&#x1f463;运行中阶段&#x1f3d3;销毁阶段&#x1f3eb;新生命周期的替代&#x1f69a;react中性…

MS9123是一款单芯片USB投屏器,内部集成了USB2 0控制器和数据收发模块、视频DAC和音视频处理模块,MS9123可以通过USB接口显示或者扩展PC、

MS9123是一款单芯片USB投屏器&#xff0c;内部集成了USB2.0控制器和数据收发模块、视频DAC和音视频处理模块&#xff0c;MS9123可以通过USB接口显示或者扩展PC、智能手机、平板电脑的显示信息到更大尺寸的显示设备上&#xff0c;支持CVBS、S-Video视频接口。 主要功能特征 C…

基本中型网络的仿真(RYU+Mininet的SDN架构)-以校园为例

目录 ​​​​​​​具体问题可以私聊博主 一、设计目标 1.1应用场景介绍 1.2应用场景设计要求 网络配置方式 网络技术要求 网络拓扑要求 互联互通 二、课程设计内容与原理 &#xff08;1&#xff09;预期网络拓扑结构和功能 &#xff08;1&#xff09;网络设备信息 …

aws ecr 使用golang实现的简单镜像转换工具

https://pkg.go.dev/github.com/docker/docker/client#section-readme 通过golang实现一个简单的镜像下载工具 总体步骤 启动一台海外区域的ec2实例安装docker和awscli配置凭证访问国内ecr仓库编写web服务实现镜像转换和自动推送 安装docker和awscli sudo yum remove awsc…

超市怎么做微信小程序_线上超市小程序开发可以实现什么功能呢

1。开发超市小程序有什么价值&#xff1f; 1、对于消费者来说&#xff1a;通过超市小程序能够更加直接的购买到想要的产品&#xff0c;消费者无需再到门店寻找商品可以直接通过超市小程序进行在线浏览&#xff1b;通过在线搜索的方式能够更加便捷的搜索到相应的商品&#xff0…

第一篇自我介绍(单片机)

小白的单片机之旅 &#x1f914;自我介绍&#x1f914; &#x1f60a;学习目标&#x1f60a; &#x1f61c;关于单片机&#x1f61c; &#x1f31d;小结&#x1f31d; &#x1f389;博客主页&#xff1a;小智_x0___0x_ &#x1f389;欢迎关注&#xff1a;&#x1f44d;点赞&…

JavaSE学习笔记day14

二、Set Set集合是Collection集合的子接口,该集合中不能有重复元素!! Set集合提供的方法签名,与父接口Collection的方法完全一致!! 即没有关于下标操作的方法 Set接口,它有两个常用的子实现类HashSet,TreeSet 三、HashSet HashSet实现了Set接口,底层是hash表(实际上底层是HashM…

QML 中的 5 大布局

作者: 一去、二三里 个人微信号: iwaleon 微信公众号: 高效程序员 在 QML 中,可以通过多种方式对元素进行布局 - 手动定位、坐标绑定定位、锚定位(anchors)、定位器和布局管理器。 说到 anchors,可能很多人都不太了解,它是 QML 中一个非常重要的概念,主要提供了一种相…

C语言几种判断语句简述

C 判断 判断结构要求程序员指定一个或多个要评估或测试的条件&#xff0c;以及条件为真时要执行的语句&#xff08;必需的&#xff09;和条件为假时要执行的语句&#xff08;可选的&#xff09;。 C 语言把任何非零和非空的值假定为 true&#xff0c;把零或 null 假定为 fals…

Vuex基础语法

Vuex vuex官网 文章目录Vuexvuex的工作原理图2.vuex的环境搭建3.vuex的使用1.actons2. mutations3.getters4.vuex中的map映射属性4.1 mapState和mapGetters4.2 mapMutations和mapActions5.vuex多组件通信1.通过计算属性获得2.通过mapState获得6.vuex模块化和命名空间6.1模块化…

为什么要用线程池?

1.降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 2.提高响应速度。当任务到达时&#xff0c;任务可以不需要的等到线程创建就能立即执行。 3.提高线程的可管理性。线程是稀缺资源&#xff0c;如果无限制的创建&#xff0c;不仅会消耗系统资源&#…

王道《操作系统》学习(一)——计算机系统概述

1.1 操作系统的概念、功能 1.1.1 操作系统的概念&#xff08;定义&#xff09; &#xff08;1&#xff09;操作系统是系统资源的管理者 &#xff08;2&#xff09;向上层用户、软件提供方便易用的服务 &#xff08;3&#xff09;是最接近硬件的一层软件 1.1.2 操作系统的功能…

Java 输入输出流

应用程序经常需要访问文件和目录&#xff0c;读取文件信息或写入信息到文件&#xff0c;即从外界输入数据或者向外界传输数据&#xff0c;这些数据可以保存在磁盘文件、内存或其他程序中。在Java中&#xff0c;对这些数据的操作是通过 I/O 技术来实现的。所谓 I/O 技术&#xf…

Vue2.0开发之——使用ref引用DOM元素(40)

一 概述 什么是ref引用ref引用示例 二 什么是ref引用 ref用来辅助开发者在不依赖于jQuery的情况下&#xff0c;获取DOM元素或组件的引用每个vue的组件实例上&#xff0c;都包含一个$refs对象&#xff0c;里面存储着对应的DOM元素或组件的应用默认情况下&#xff0c;组件的$re…

Vue3之事件绑定

何为事件绑定 当我们开发完UI界面后&#xff0c;还需要和用户交互&#xff0c;所谓交互也就是用户可以点击界面上的按钮&#xff0c;文字&#xff0c;链接等以及点击键盘上的按钮&#xff0c;我们开发的程序可以做出对应的反应。做出的反应会通过UI界面再反馈给用户&#xff0c…

CSS 之层叠规则(权级、权重、顺序)详解

文章目录参考描述定义层叠层叠与冲突规则权重&#xff08;优先级&#xff09;权重值的叠加顺序权级权级层叠规则的运用顺序尾声参考 项目描述MDN WEB Docs优先级Amily_mo令人烦恼的css选择器权值问题 - Amily_mo深入解析CSS基思J.格兰特 / 黄小、高楠 译MDN WEB Docs:not() 描…

华为OD机试用Python实现 -【字符串重新排序】(2023-Q1 新题)

华为OD机试题 华为OD机试300题大纲字符串重新排序题目描述输入描述输出描述示例一输入输出示例二输入输出Python 代码实现算法思路华为OD机试300题大纲 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单查看地址:blog.csdn.…

JavaEE|TCP/IP协议栈之TCP协议工作机制下

文章目录一、滑动窗口二、流量控制三、拥塞控制四、延时应答五、捎带应答六、面向字节流&#xff08;了解&#xff09;七、异常情况&#xff08;了解&#xff09;关于其他传输层协议一、滑动窗口 为什么要引入滑动窗口&#xff1f; 确认应答和超时重传为TCP可靠传输机制提供支持…

FTP中的TCP传输服务(电子科技大学TCP/IP实验五)

目录 一&#xff0e;实验目的 二&#xff0e;预备知识 三&#xff0e;实验原理 四&#xff0e;实验内容 五&#xff0e;实验步骤 八、总结及心得体会 九、对本实验过程及方法、手段的改进建议 一&#xff0e;实验目的 1、掌握 TCP 协议工作原理 2、掌握 TCP 的连接建立…

阿里团队刚发布的重磅图像生成基础模型,多重条件引导+图像合成,SD级别,5B参数...

一个多小时前刚发的论文&#xff0c;Composer: Creative and Controllable Image Synthesis with Composable Conditions。 我读完了快速帮大家概要一下啊。论文地址见文章最后。阿里巴巴团队开发的这个重磅图像生成模型 Compose&#xff0c;支持多重引导条件的图像生成(合成)&…