关于uni-app入门看完这篇就够了

news2024/11/18 13:39:07

关于uni-app的入门

前言

这是一篇关于uni-app入门的文章,也是我对uni-app的总结与归纳,刚开始的时候在这个平台上面找寻同类型的文章的时候发现讲的都很片面不怎么详细,所以就写了一篇关于基本入门的文章,全文总计 7500 字 预计阅读时间约为 25分钟,推荐有Vue基础的朋友来阅读,否则可能听的有些困难,主要是uni-app是基于Vue来的嘛~

资源与扩展文章

  • Vue入门教程与基本功能的实现
  • Vue脚手架的安装与配置以及一些基本操作
  • 图标下载网站阿里云矢量图标库 iconfont

Uni-app的基础目录

文章目录

    • 关于uni-app的入门
      • 前言
        • 资源与扩展文章
      • Uni-app的基础目录
      • uniapp的文件目录属性
        • pages文件夹
          • 小程序架构+vue语法=uni-app
        • static文件夹
          • 相当于public文件夹
        • App.vue文件
        • mian.js文件
        • manifest.json文件
        • pages.json文件
        • uni.scss文件
      • 利用HBuilder工具进行基本的操作
        • 创建新的页面
      • 在uniapp的页面vue里面的书写注意事项
        • uni-app借鉴微信小程序组件库
          • 示例代码
          • 显示效果
      • uni-app页面的跳转
        • 主要的两种跳转方式
        • 跳转传参与接收
        • 页面传参示例
          • 页面结构
          • 实现需求
          • index.vue代码(首页组件)
          • hello.vue代码
          • 结果效果
      • uni-app组件
        • uni-app组件注意点
        • uniapp组件的导入
      • uniapp的标签导航
        • 什么是小程序的标签导航呢?
      • 实现微信底部导航切换效果
          • 实现效果
          • 效果的实现
          • 实现代码

uniapp的文件目录属性

如图所示当我们创建好一个uni-app项目之后会有如下目录
在这里插入图片描述
接下来我们来大致说说这些目录下的文件和文件夹是干嘛的


pages文件夹

如下图所示
在这里插入图片描述
示范:单文件

<template>
    <view>
       hello world 阿山 !
    </view>
</template>

<script>
    export default {
        data() {
            return {

            }
        },
        methods: {

        }
    }
</script>

<style>

</style>

小程序架构+vue语法=uni-app

在pages文件夹下面其实有很多文件加,其效果就是存放页面效果和微信小程序下面的pages文件夹是一样的
虽然我这里的一个文件夹里面只有一个vue文件但是这个文件夹里面还可以写css,js,json文件命名方式和微信小程序是一样的(名字一般为和文件夹一样,我的习惯是只写一个vue文件,后面我会示范多文件的)

static文件夹

如下图所示
在这里插入图片描述

相当于public文件夹

这个文件夹存放的东西相当于原生html项目的public文件夹存放的文件是页面的静态文件
虽然


App.vue文件

如下图所示
在这里插入图片描述
同vue的根组件,是SPA项目的唯一页面,单网页应用的根组件

mian.js文件

如下图所示
在这里插入图片描述
和vue项目一样是住逻辑入口文件


manifest.json文件

在这里插入图片描述
项目的配置文件

pages.json文件

在这里插入图片描述

这个文件夹和微信小程序一样,属于页面配置文件,用于所有页面的配置

在这里插入图片描述


uni.scss文件

在这里插入图片描述
这个个文件下面写的是对全局生效的css代码对全局生效

利用HBuilder工具进行基本的操作

创建新的页面

1, 右键pages文件夹,点击新建页面
在这里插入图片描述
2,根据需求选择
在这里插入图片描述
3,制作hello word的页面
在这里插入图片描述
然后我们写一个简单的页面

<template>
	<view>
		demo
	</view>
</template>

<script>
	export default {
		data() {
			return {
				
			}
		},
		methods: {
			
		}
	}
</script>

<style>

</style>

4,然后按下图点击运行编译
在这里插入图片描述
5,编译完成后就会告诉你访问地址
在这里插入图片描述
6,运行结果
在这里插入图片描述

在uniapp的页面vue里面的书写注意事项

uni-app借鉴微信小程序组件库

在template标签下不能书写HTML标签,约为项目制作之后需要适配H5,APP和小程序,所以必须书写官方提供的专业组件(标签),写出来的代码才能直接编译到不同的客户端,

示例代码

在这里插入图片描述

显示效果

在这里插入图片描述

uni-app页面的跳转

主要的两种跳转方式

  • 组件方式:
<navigator :url="./xxxx"></navigator>

如图
在这里插入图片描述

  • 代码方式:
uni.navigateTo(url:'路径')

uniapp提供了强大的 uni 对象,里面有丰富的方法和属性

跳转传参与接收

参数的传递

url="xxx?参数=&参数=

接收参数
利用生命周期钩子函数

onLoad(e){
	xxxx
}

例如
在这里插入图片描述

页面传参示例

页面结构

在这里插入图片描述

实现需求

当我在hello页面输入一个名字和年龄时,当我返回index.vue
的时候需要传递回去
效果如图:
请添加图片描述

index.vue代码(首页组件)
<template>
	<view class="content">
		<view>index页面</view>
		<navigator :url="`../hello/hello`">去往hello</navigator>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				title: 'Hello'
			}
		},
		onShow() {
			console.log(this.options);
		},
		methods: {

		}
	}
</script>

<style>
</style>

hello.vue代码
<template>
	<view>
		<view>
			hello页面
		</view>
		<input placeholder="用户名" v-model="name">
		<input placeholder="年龄" v-model="age">
		<navigator :url="`../index/index?name=${name}&age=${age}`">去往index</navigator>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				name:null,
				age:null
			}
		},
		methods: {
			
		}
	}
</script>

<style>

</style>

或者这样
在这里插入图片描述

结果效果

在这里插入图片描述

uni-app组件

在vue中,组件在使用时需要先引入->注册->使用
在uniapp中,官方提供了easycom机制,让组件使用起来更加方便
具体做法把组件放在component文件夹下面,这个组件就会自动全局注册

uni-app组件注意点

  • 在uniapp中不象在vue中那样组件名以大驼峰命名,而是以小写和-来命名
    在这里插入图片描述
    在这里插入图片描述

uniapp组件的导入

  • 首先在组件里写点东西(非必写)
    在这里插入图片描述

  • 然后在需要导入组件的页面写入组件名,然后利用props传参过去,不会的去看我往期的vue文章
    在这里插入图片描述

  • 结果如下
    在这里插入图片描述

uniapp的标签导航

什么是小程序的标签导航呢?

uni-app导航栏官方文档
如下图所示
在这里插入图片描述

当我点击小图标的时候就能切换页面的这种方式就叫标签导航

下载图标推荐是下载两个一个代表选中,一个代表没激活

  • 图标下载网站iconfont

接下来我们来实现下微信底部导航的效果

实现微信底部导航切换效果

实现效果

请添加图片描述

效果的实现
  • 我们首先需要8张图片和创建四个页面
页面名激活时未激活
msg.vue(消息)xxx.active.pngxxx.png
phone.vue(通讯录)xxx.active.pngxxx.png
find.vue(发现)xxx.active.pngxxx.png
my.vue(我的)xxx.active.pngxxx.png

在这里插入图片描述

  • 确保已经准备好了图标,在主目录下新建一个image文件夹
    在这里插入图片描述
  • 绑定与思路 在这里插入图片描述
  • 实现

首先我们可以去查看文档
在这里插入图片描述

通过查文档我们可以发现实现导航栏的方式为tabBar属性,但是我们只需要实现切换等功能,所以我们不需要那么多的参数和属性

"tabBar":{
	xxx	
}
实现代码

仔细看注释

"tabBar": {
		// 按钮文字颜色,选中时的按钮颜色边框颜色和背景颜色
		"color": "#7A7E83",
		"selectedColor": "#b3abb4",
		"borderStyle": "#b9b9b9",
		"backgroundColor": "#FFFFFF",
		// 按钮
		"list": [
			// 下面的就是按钮了
			// 消息
			{
				"pagePath": "pages/msg/msg",
				// 没选中时
				"iconPath": "static/image/msg.png",
				// 选中时
				"selectedIconPath": "static/image/msg-active.png",
				// 显示文字
				"text": "消息"

			},
			{
				"pagePath": "pages/phone/phone",
				// 没选中时
				"iconPath": "static/image/phone.png",
				// 选中时
				"selectedIconPath": "static/image/phone-active.png",
				// 显示文字
				"text": "通讯录"

			},
			{
				"pagePath": "pages/find/find",
				// 没选中时
				"iconPath": "static/image/find.png",
				// 选中时
				"selectedIconPath": "static/image/find-active.png",
				// 显示文字
				"text": "发现"

			},
			{
				"pagePath": "pages/my/my",
				// 没选中时
				"iconPath": "static/image/my.png",
				// 选中时
				"selectedIconPath": "static/image/my-active.png",
				// 显示文字
				"text": "我"
			}
		]

	},

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

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

相关文章

Vue 清除Form表单校验信息 清除表单验证上次提示信息

问题描述 在Vue项目中使用Form组件进行表单验证&#xff0c;再次打开该表单时&#xff0c;上次的验证提示信息依然存在&#xff0c;业务场景要求再次打开该表单时清除验证提示信息和绑定的数据。 解决办法 在控制表单显隐的方法内加入以下代码即可实现&#xff1a; 1.使用…

react性能优化之memo的作用和memo的坑

前言 在react中&#xff0c;组件渲染的是最常有的事情。但是&#xff0c;有部分的渲染是不必要的&#xff0c;是可以避免的。 在react的一般规则中&#xff0c;只有父组件的某一个状态改变&#xff0c;父组件下面所有的子组件不论是否使用了该状态&#xff0c;都会进行重新渲…

[vue+element-ui] form中输入框无法输入问题的解决方法

目录 一.问题发现&#xff1a; 二.正确案例与错误原理&#xff1a; 三.问题解决 一.问题发现&#xff1a; 笔者在制作登录页面前端时使用elementuivue技术&#xff0c;发现输入框无法输入任何内容。 在csdn上查阅很多文章后发现都无法解决&#xff0c;于是去elementui官网进…

谷歌浏览器插件HackBar安装方法(详细教程)

文章目录1.下载压缩包2.将压缩包添加至扩展程序3.修改配置文件4.功能说明1.下载压缩包 链接&#xff1a;https://pan.baidu.com/s/1XOKo_ILZv8PcJihoc8981A?pwd3ha8 提取码&#xff1a;3ha8 注意&#xff1a;下载即可&#xff0c;不用解压。 2.将压缩包添加至扩展程序 打开…

【小程序项目开发-- 京东商城】uni-app之自定义搜索组件(中)-- 搜索建议

&#x1f935;‍♂️ 个人主页: 计算机魔术师 &#x1f468;‍&#x1f4bb; 作者简介&#xff1a;CSDN内容合伙人&#xff0c;全栈领域优质创作者。 &#x1f310; 推荐一款找工作神器网站: 点击跳转牛客网 |笔试题库|面试经验|实习招聘内推| 还没有账户的小伙伴 速速点击链接…

文本超出部分显示省略号

我们经常在网站上可以看到以下样式&#xff0c;标题太长&#xff0c;一行显示不下&#xff0c;则会使用省略号来代替。但是事实上&#xff0c;这个省略号并不是打字打上去的&#xff0c;而是使用代码表示出来的。 今天则主要介绍如何让文本超出部分显示省略号。 1.单行文本超出…

关于HTML中常用选择器

一.五种基本选择器: 1&#xff09;*&#xff1a;匹配HTML中所有元素&#xff0c;一般用于除去内边距和外边距&#xff0c;其性能较差&#xff0c;不推荐使用&#xff1b; 2&#xff09;标签名&#xff08;在JavaScript中也称节点&#xff09;:标签选择器。注意在用标签修改样式…

如何创建一个Servlet项目(Maven)?

系列文章目录 Tomcat下载、安装及使用介绍_crazy_xieyi的博客-CSDN博客 文章目录 前言一、创建Servlet项目&#xff08;Maven&#xff09;的步骤 1.创建Maven项目2.引入依赖3.创建目录4.编写代码5.打包程序6.部署程序7.验证程序二、总结&#xff08;使用smart tomcat插件来打包…

微信小程序开发前端基础知识

文章目录一、简介1、是什么2、为什么二、准备工作1、环境准备1.1、注册账号1.2、获取APPID1.3、开发工具2、创建微信小程序三、组件1、目录及其作用介绍2、页面操作3、view 块级元素4、<navigator>导航跳转5、scroll-view滚动6、text 行标签7、swiper 轮播8、常用表单组件…

Vue语法与标签的使用

前言&#xff1a;最近两周一直在忙于公司业务的学习&#xff0c;一直没有时间进行总结&#xff0c;作为后端开发人员来说&#xff0c;需要了解一些前端的知识&#xff0c;因此今天把最近复习的Vue的知识总结了一下&#xff0c;希望能加深总结的印象以及帮助到各位大佬。 如果有…

React 入门(超详细)

目录前言&#xff1a;一、React 简介1. 什么是 React2. React 的特点3. React 高效的原因4. React 官网5. React的主要原理6. Facebook为什么要建造React?二、React 的基本使用1. 基础代码2. 效果3. 相关 js 库4. 创建虚拟DOM的两种方式5. 虚拟DOM与真实DOM6. 虚拟DOM与真实DO…

Chrome谷歌浏览器安装与配置教程

谷歌浏览器&#xff0c;界面简洁明了、浏览速度相当快&#xff0c;浏览器中的霸主地位 1、在电脑浏览器中打开下载地址https://www.google.cn/chrome/或百度www.baidu.com搜索“chrome”&#xff0c;打开谷歌官方网站 2、进入官网后单击“下载Chrome” 如果下载之后找不到&a…

vue基于element实现动态表格

前言 大家都知道 element 表格组件的表头是静态写死的&#xff0c;我们在渲染数据时只需要将接口返回的数组动态绑定给 data 属性&#xff0c;然后再通过 prop 去对应字段项即可&#xff1b;但是静态的表头并不能满足一些特殊的使用场景&#xff0c;所以我们需要将它变成活的&a…

从0到1构建springboot web应用镜像并使用容器部署

文章目录一、生成镜像的两种方法1.1、使用commit生成镜像1.1.1、拉取Centos基础镜像1.1.2、启动Centos容器并安装Go1.1.3、commit生成新镜像1.1.4、使用新镜像验证Golang环境1.2、使用Dockerfile生成镜像二、基于Dockerfile生成一个springboot镜像2.1、准备springboot应用jar包…

Vue父子组件传值

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、Vue父子传值的方法二、方法详解1.props / $emit2.$parent / children3.$ref总结前言 例如&#xff1a;Vue的学习是路阻且艰的&#xff0c;这是一个系列文章…

微信小程序 | 人脸识别的最终解决方案

&#x1f4cc;个人主页&#xff1a;个人主页 ​&#x1f9c0; 推荐专栏&#xff1a;小程序开发成神之路 --(这是一个为想要入门和进阶小程序开发专门开启的精品专栏&#xff01;从个人到商业的全套开发教程&#xff0c;实打实的干货分享&#xff0c;确定不来看看&#xff1f; &…

Cookie 和 Session的区别

文章目录时间&#xff1a;2023年3月23日第一&#xff1a;什么是 Cookie 和 Session ?什么是 Cookie什么是 Session第二&#xff1a;Cookie 和 Session 有什么不同&#xff1f;第三&#xff1a;为什么需要 Cookie 和 Session&#xff0c;他们有什么关联&#xff1f;第四&#x…

【Java基础】一个Java文件可以有多个类(外部类、内部类)

目录一、在一个Java文件中定义多个类&#xff08;外部类&#xff09;1.问题描述及解答2.总结二、在一个Java文件定义多个类&#xff08;内部类&#xff09;1.成员内部类和匿名内部类1.1 成员内部类1.2 匿名内部类2.深入理解内部类3.内部类的使用场景和好处一、在一个Java文件中…

小米商城官网(登录页,首页,详情页,我的购物车页,我的订单页,确认订单页)HTML+CSS+JS

文章目录前言一、登录页二、首页三、我的购物车页四、我的订单页五、确认订单页六、详情页七、整体结构和效果图总结前言 仿小米商城官网项目是本人实训内容&#xff0c;实训老师带着做的首页和登录页&#xff0c;本人在此基础上加入了我的购物车页&#xff0c;我的订单页&…

vue兼容ie11(@babel/polyfill、core-js@3两种方式)

Babel介绍&#xff1a; Babel是一个JavaScript编译器&#xff0c;主要用于将ECMAScript 2015代码转换为当前和旧浏览器或环境中向后兼容的JavaScript版本。要是通过核心依赖core-js2&#xff0c;主要是通过核心依赖core-js2来完成对应浏览器不支持的新的全局和实例api的添加 …