首页 > 其他分享 >uniapp专题学习(一)

uniapp专题学习(一)

时间:2023-05-29 18:25:40浏览次数:54  
标签:uniapp index 微信 专题学习 程序 pages 页面

为什么要学习uniapp

  1. 一套代码可以打包到不同的应用平台,一套代码,多端运行;
    img
  2. 方便入手,就是使用vue语法写小程序,如果有vue和小程序经验的话,甚至直接可以看文档;
  3. 丰富的生态环境,官方及第三方插件较为丰富,论坛活跃度高。

什么是uniapp

uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。

编译工具

  • HBuilderX
  • 微信开发者工具

以下是两个编译工具的下载地址:

HBuilderX

微信开发者工具

新建项目及项目目录说明

  1. 使用HBilderX新建项目
    img

  2. 填写项目配置,点击创建
    img

  3. 项目创建完成,了解项目的目录结构。

┌─pages                     业务页面文件存放的目录
│  └─index
│    └─index.vue            index页面
├─static                    存放应用引用的本地静态资源(如图片、视频等)的目录,注意:静态资源只能存放于此
├─App.vue                   应用配置,用来配置App全局样式以及监听 应用生命周期
├─index.html                单页面程序(和vue的index.html功能一致)
├─main.js                   Vue初始化入口文件
├─manifest.json             配置应用名称、appid、logo、版本等打包信息
├─pages.json                配置页面路由、导航条、选项卡等页面类信息
├─uni.promisify.adaptor.js  用于将回调函数转换为 Promise 的适配器文件
└─uni.scss                  这里是uni-app内置的常用样式变量

更加具体的可以参考官方文档的目录结构

  1. 运行项目
    运行项目有三种方式:

    1. 运行到内置浏览器(没有装插件的需要安装插件)
      img

    2. 运行到浏览器
      img
      img

    3. 运行到小程序模拟器
      img

    注意:

    1. 运行浏览器和运行小程序都需要配置一下运行浏览器或者小程序的运行路径
      img

    2.运行微信小程序也需要打开服务端口号
    img
    img

vue用法在uniapp中的使用

同样的代码(这里拿H1标签举例)在微信小程序的样式会有所不同

<template>
	<div>
		<h1>H1标题在uniapp执行</h1>
	</div>
</template>

<script>
	export default {
	}
</script>

<style lang="scss">
	
</style>

img
img
所以我们需要学习uniapp组件来替代原有的h5标签,这也是vue开发和uniapp开发习惯不一样的地方。

page.json文件的页面配置与全局配置

  1. 新建页面并配置属性
    img
    img

  2. 了解page.json配置

{
	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
		{
		    "path" : "pages/list/list",
		    "style":                                                                            {
		        "navigationBarTitleText": "新闻列表",
		        "navigationBarBackgroundColor": "#1AA034",
				"navigationBarTextStyle": "white"
		    }
		    
		},
		{
			"path": "pages/index/index",
			"style": {
				"navigationBarTitleText": "uni-app"
			}
		}
	    
    ],
	"globalStyle": {
		"navigationBarTextStyle": "black",
		"navigationBarTitleText": "uni-app",
		"navigationBarBackgroundColor": "#F8F8F8",
		"backgroundColor": "#F8F8F8"
	},
	"uniIdRouter": {}
}

globalStyle代表这全局的一个样式,page下的path代表着不同的页面路由,pages数组中第一项表示应用启动页,page下的style代表着每个页面的单独样式,会覆盖吊globalStyle的全局样式。

uniapp组件学习

view

视图容器。

它类似于传统html中的div,用于包裹各种元素内容。

<template>
	<view class="out">
		<view class="box">
			
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				
			};
		}
	}
</script>

<style lang="scss">
.out{
	.box{
		width: 750rpx;
		height: 200rpx;
		background-color: rosybrown;
	}
}
</style>

这里有两个小的知识点:

  1. scss的css写法
  2. rpx响应式的像素单位(默认750rpx为宽度100%)

icon

图标。

属性说明:

属性名 类型 默认值 说明
type String icon的类型
size Number 23 icon的大小,单位px
color Color icon的颜色,同css的color

各平台 type 有效值说明:

平台 type 有效值
App、H5、微信小程序、QQ小程序 success, success_no_circle, info, warn, waiting, cancel, download, search, clear
支付宝小程序 info, warn, waiting, cancel, download, search, clear, success, success_no_circle,loading
百度小程序 success, info, warn, waiting, success_no_circle, clear, search, personal, setting, top, close, cancel, download, checkboxSelected, radioSelected, radioUnselect

详细请查看不同平台的平台差异说明

代码实例:

<icon type="success" size="26"/>
<icon type="success_no_circle" size="26"/>

text

文本组件。

用于包裹文本内容。

属性说明:

属性名 类型 默认值 说明 平台差异说明
selectable Boolean false 文本是否可选
user-select Boolean false 文本是否可选 微信小程序
space String 显示连续空格 钉钉小程序不支持
decode Boolean false 是否解码 百度、钉钉小程序不支持

scroll-view

可滚动视图区域。用于区域滚动。

属性说明

代码实例:

<template>
	<view class="out">
		<scroll-view class="scroll" scroll-x>
			<view class="group">
				<view class="item">
					111
				</view>
				<view class="item">
					111
				</view>
				<view class="item">
					111
				</view>
				<view class="item">
					111
				</view>
				<view class="item">
					111
				</view>
			</view>
		</scroll-view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				
			};
		}
	}
</script>

<style lang="scss">

.scroll{
	border: 1px solid red;
	box-sizing: border-box;
	height: 220rpx;
	.group{
		white-space: nowrap;
		.item{
			width: 220rpx;
			height: 220rpx;
			background-color: darkseagreen;
			display: inline-block;
			margin-right: 10rpx;
		}
	}
}
</style>

swiper

滑块视图容器。

一般用于左右滑动或上下滑动,比如banner轮播图。

属性说明

代码案例:

<template>
	<view class="out">
		<swiper class="swiper" indicator-dots circular autoplay interval="3000">
			<swiper-item class="item">
				<image src="../../static/1.jpg" style="width: 100%;height: 100%;"></image>
			</swiper-item>
			<swiper-item class="item">
				<image src="../../static/2.jpg" style="width: 100%;height: 100%;"></image>
			</swiper-item>
			<swiper-item class="item">
				<image src="../../static/3.jpg" style="width: 100%;height: 100%;"></image>
			</swiper-item>
		</swiper>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				
			};
		}
	}
</script>

<style lang="scss">
.swiper{
	.item{
		width: 750rpx;
	}
}
</style>

标签:uniapp,index,微信,专题学习,程序,pages,页面
From: https://www.cnblogs.com/codexj/p/17439687.html

相关文章

  • uniapp安卓选择文件
    引用import{pickFile}from'@/js/common/pickFile.js'使用pickFile.PickFile(function(audioSrc){console.log(audioSrc)_this.audioSrc='file://'+audioSrc;//_this.audioSrc='https://img-cdn-qiniu.dcloud.net.cn/......
  • uniapp避坑指南-页面滚动
    uniapp避坑指南-页面滚动需求描述做一个类似于word目录跳转功能,分成两个页面:目录页和详情页。目录页是一个列表,详情页是一个很长的的由很多pdf图片组成的上下滚动的页面,要求实现点击目录页跳转到详情页指定位置。功能实现主要使用uni.pageScrollTo这个api。我的工程是cli创建......
  • uniapp避坑指南-图片预览
    uniapp避坑指南-图片预览(本地预览)需求描述有一个类似以下的数组,通过v-for循环,现在需要在用户点击图片后使用uniapp的图片预览Api。//view<viewv-for:'(item,index)inpicList':key="index"><image:src="item.url"@click='imgPreview(item.url,id)'>......
  • 多客社交圈子小程序的腾讯云实时音视频如何配置配置,适用于语音直播、交友类圈子系统un
    采用的腾讯的实时语音,经过我们对比和测试,腾讯的是最便宜的。新用户免费1万分钟,以后每1000分钟7元。第一步、腾讯云申请实时语音,实时音视频免费试用-购买指南-文档中心-腾讯云新用户免费可领取资源包1万分钟。第二步、添加应用后拿到appid和秘钥。填写在前端的配置文件里,根目录/sit......
  • uniapp 数组添加不重复元素
    if(this.checkTimes.includes(_item.time)){this.checkTimes=this.checkTimes.filter((item)=>{returnitem!=_item.time;});}else{this.ch......
  • uniapp微信小程序昵称和头像更新
    问题:微信小程序更新昵称和头像1.昵称更新前端:<inputclass="font_1text_2tex"v-model="nickname"type="nickname"@blur="bindblur"placeholder-style="color:#fff"placeholder="编辑资料"@input="bindinput&quo......
  • uniapp微信小程序图片闪烁
    尽量设置好长宽 不用mode="widthFix"这种根据一边固定另一边的模式文字渐显css:animation:fadeIn1s;  计时器(倒计时执行代码):setTimeout(()=>{ this.showhide=false this.caselist.title="新标题"+this.sum},600)......
  • uniapp 前往高德 百度
      选择 openMapRoute(lat,lon,cityName){ varurl=''; if(plus.os.name=='Android'){ varhasBaiduMap=plus.runtime.isApplicationExist({ pname:'com.baidu.BaiduMap', action:'baidumap://' ......
  • uniapp版本更新
    在app页面判断版本是否更新 ......
  • uniapp 文件下载(App端下载过的文件可直接打开)
     saveFile(item){constid=item.idconsturl=http.config.fileUrl+item.filePath//#ifdefAPP-PLUSletfiles=uni.getStorageSync('files')?JSON.parse(uni.getStorageSync('files')):{}if(files[id]){//已下......