Uniapp学习之从零开始写一个简单的小程序demo(新建页面,通过导航切换页面,发送请求)

2023-10-31

先把官网文档摆在这,后面会用到的
[uniapp官网文档]: https://uniapp.dcloud.net.cn/vernacular.html#

一、开发工具准备

1-1 安装HBuilder

按照官方推荐,先装一个HBuilder

下载地址:
https://www.dcloud.io/hbuilderx.html

1-2 安装微信开发者工具

如果要在微信小程序上运行,再装一个微信开发者工具

下载地址:(记得选稳定版)
https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

1-3 配置

为了之后的调试,在HBuilder里配置微信开发者工具的安装路径

HBuilder-》工具-》设置-》运行配置-》小程序运行配置-》微信开发者工具路径

image-20230807175244436

在微信开发者工具中设置端口开发、不校验合法域名

微信开发者工具-》设置-》安全设置-》服务端口:打开
微信开发者工具-》详情-》本地设置-》不校验合法域名...:勾选

image-20230807175551506

image-20230807175733843

二、写代码

如果你有足够的耐心,可以先去官网把语法文档先看一遍,大致了解vue的一些基本语法,下面写起来会相对容易。

没耐心如我凭着多年前的模糊前端知识记忆直接开搞,遇到哪里不懂再去百度哪里。

2-1 新建模板项目

HBuilder-》文件-》新建-》项目-》选一个模板
  • 注意1:这里是选模板,也就是你接下来要写的项目的参照(你CV大法的来源),推荐官方提供的【Hello uni-app】,大部分你接下来要用到的组件里面都有例子。

  • 注意2:这里vue版本最好选2,头铁的我就觉得新的好,选了3。3简直太好了,它好就好在遇到问题网上一搜全是2的解决方案,根本没几个可以参考的,就靠我的铁头自己想解决方案,惨痛经历。

image-20230807180533498

2-2 新建空白项目

步骤同上,选择模板的时候选默认模板。

注意:为什么不直接在成品模板里改呢,因为你会因为一两行代码的改动遇到各种奇奇怪怪的错误,然后就失去了正确的模板可以参考。当然,你也可以再新建一个模板项目来参考,但直接在成品模板里改出一个自己的项目,就算成功了,也会存在大量冗余代码,也会存在很多“删除了会报错,留着又不知道它有什么用的代码”,不利于新人初期的学习。

个人建议:初期学习还是做加法更有利于掌握知识。

2-3 运行空白项目

运行-》运行到小程序模拟器-》运行微信开发者工具

image-20230904104600329

当日志栏出现【项目 ‘demo02’ 编译成功。前端运行日志,请另行在小程序开发工具的控制台查看。】时,就可以通过微信小程序开发工具查看你的项目了。

注:uniapp项目编译后的路径:项目根目录/unpackage/dist/dev/mp-weixin

微信小程序开发工具导入项目时就是导入这个路径

导入之后可以看到空白项目里的HBuilder图标和Hello字样

image-20230904104025433

2-4 开写

2-4-1 页面

空白项目只自带一个首页,我需要新增页面,于是在/pages目录下右键新建另外三个页面

image-20230904105521307

image-20230904105559477

建的时候勾选【在pages.json中注册】,工具就会自动修改pages.json文件,如图所示。

然后你可以手动为这些页面改名

image-20230904105853581

2-4-2 导航栏

基础页面可以通过页脚导航栏切换,这就需要新增一段配置,在刚刚的pages同级下新增"tabBar"配置

修改pages.json文件

"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
    {
        "path": "pages/index/index",
        "style": {
            "navigationBarTitleText": "首页"
        }
    }
    ,{
        "path" : "pages/tab1/tab1",
        "style" :                                                                                    
        {
            "navigationBarTitleText": "页面1",
            "enablePullDownRefresh": false
        }

    }
    ,{
        "path" : "pages/tab2/tab2",
        "style" :                                                                                    
        {
            "navigationBarTitleText": "页面2",
            "enablePullDownRefresh": false
        }

    }
    ,{
        "path" : "pages/tab3/tab3",
        "style" :                                                                                    
        {
            "navigationBarTitleText": "页面3",
            "enablePullDownRefresh": false
        }

    }
],
"tabBar": {
    "borderStyle": "black",
    "backgroundColor": "#333",
    "color": "#8F8F94",
    "selectedColor": "#f33e54",
    "list": [
        {
            "pagePath": "pages/index/index",
            "text": "首页"
        },
        {
            "pagePath": "pages/tab1/tab1",
            "text": "页面1"
        },
        {
            "pagePath": "pages/tab2/tab2",
            "text": "页面2"
        },
        {
            "pagePath": "pages/tab3/tab3",
            "text": "页面3"
        }
    ]
}

改完保存,自动差量编译,切到微信小程序开发工具,可以看到页面上已经出现底部导航栏的4个页面选项,并且可以通过点击切换页面

image-20230904112543426

2-4-3 发请求

按照uniapp官方文档来:

这里随便找了个开源在线请求地址,实际项目可替换为自己的项目服务地址。

注意:如果没有注册微信小程序appId,https请求是调不通的,只能发http请求

修改tab1.vue文件

<template>
	<view>
		<button @click="sendRequest">发请求</button>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				
			}
		},
		methods: {
			sendRequest(){
				uni.request({
				    url: 'http://api.thecatapi.com/v1/images/search?limit=1', //示例
				    data: {
				        
				    },
				    header: {
				        'custom-header': 'hello' //自定义请求头信息
				    },
				    success: (res) => {
				        console.log(res.data);
				        this.text = 'request success';
				    }
				});
			}
		}
	}
</script>

<style>

</style>

点击按钮发送请求,控制台打印出返回数据:

image-20230905172805067

2-4-4 …

待补充…

有了页面,有了导航用来切换页面,能够向后端发送请求,这就算一个简陋的demo了,还想要什么功能可以直接拿起vue在此基础上开搞

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Uniapp学习之从零开始写一个简单的小程序demo(新建页面,通过导航切换页面,发送请求) 的相关文章

  • GPT1,2,3

    GPT1 transformer解码器因为有掩码所以不看后面的东西 gpt就是transformer的解码器 bert 是transformer的编码器 gpt核心卖点 不管输入如何 transformer模型不会变 半监督 先在没有标号上
  • 华为OD机试真题-磁盘容量排序-2023年OD统一考试(B卷)

    题目描述 磁盘的容量单位常用的有M G T这三个等级 它们之间的换算关系为1T 1024G 1G 1024M 现在给定n块磁盘的容量 请对它们按从小到大的顺序进行稳定排序 例如给定5块盘的容量 1T 20M 3G 10G6T 3M12G9M
  • python获得用户输入的一个字符串、格式如下_第七章 用户输入和while语句

    大多数编程都旨在解决最终用户的问题 为此通常需要从用户那里获取一些信息 例如 假设有人要判断自己是否到了投票的年龄 要编写回答这个问题的程序 就需要知道用户的年龄 这样才能给出答案 因此 这种程序需要让用户输入其年龄 再将其与投票年龄进行比
  • .mdb文件导入到mysql(工具Navicat Premium 12)

    可能会报错 需要安装AccessDatabaseEngine 1打开数据库 2 选择你的mdb文件 跟着提示一步步往下就行了 如果选择文件后报错 安装一下AccessDatabaseEngine 网上找找 这个是64位的 链接 https

随机推荐

  • GRPC C++开发环境搭建

    本文章参与 lt 零声教育 gt 的C C Linux服务器高级架构系统教程学习 1 安装必要的依赖工具 安装必要的依赖工具 sudo apt get install autoconf automake libtool 如果cmake低于3
  • SLF4J

    日志是任何项目中最重要的东西之一 特别是遇到多线程环境下高压力导致的并发bug时 但是在实际项目中有使用slf4j api slf4j log4j12还有log4j的 作为程序员到底应该使用哪一种呢 要使用他们 我们首先要理清楚他们之间的关
  • 八进制数字字符转化为十进制详解

    include
  • C++ Primer Plus(第6版)第2章 开始学习C++

    复习题 1 函数 2 用iostream头文件的内容替换源代码中的 include语句 3 使std名称空间中的内容全部直接可用 4 std cout lt lt hello world lt
  • 车牌识别项目总结2019.9

    最近学了Python感觉很强大 对计算机视觉有些兴趣 于是来做一个车牌识别项目 其中学习了OpenCV Python MATLAB等 收获颇丰 写一篇文章记录一下 整体思路 车牌识别 LPR License Plate Recognitio
  • 超详细讲解无迹卡尔曼(UKF)滤波(个人整理结合代码分析)

    目录 1 用来做什么 2 线性卡尔曼滤波 3 扩展卡尔曼滤波 4 无迹卡尔曼滤波 1 用来做什么 针对系统的不确定性 1 不存在完美的数学模型 2 系统的扰动不可控 也很难建模 3 测量传感器存在误差 例1 通过系统的状态方程得出的电流值i
  • R中使用foreach时清理内存

    foreach能较大的提高计算速度 但是R不会自动清理内存 导致服务器内存经常占用过高 因此使用时需要及时清理内存 以如下例子所示 我需要读取一批excel文件 在运行下面的代码前 经过4次测试 Rstudio的内存情况是这样的 Mb 23
  • VMware安装虚拟机(小白看了都会哦)

    一 什么是VMware VMware是一款运行在windows系统上的虚拟机软件 可以虚拟出一台计算机硬件 方便安装各类操作系统 如Windows Macos Linux Unix等等 虚拟机 VM 是一种创建于物理硬件系统 位于外部或内部
  • 质疑百度的“国学”

    2006年11月03日 18 07 00 百度 这个名字取得非常好 他有一个广告 也不错 这些无不在向人们展示 汉语 的魅力和中国文化的底蕴 才可能构成今日 世界有Google 中国有百度 的格局 但是从百度其中一个产品 国学 来看 百度做
  • 反射、线程

    反射 如何在程序运行的情况下去创建另外一个对象 JAVA反射机制是在运行状态中 对于任意一个类 都能够知道这个类的所有属性和方法 对于任意一个对象 都能够调用它的任意一个方法和属性 这种动态获取的信息以及动态调用对象的方法的功能称为java
  • CNN浅析和历年ImageNet冠军模型解析

    版权声明 作者 黄文坚 本文为大数据杂谈4月13日微信社群分享内容整理 最新人工智能论文 http paperreading club 今天在这里我给大家讲解一些深度学习中卷积神经网络的原理和一些经典的网络结构 卷积神经网络原理浅析 卷积神
  • 苹果系统版本依次顺序_iphone所有型号上市顺序

    Ready 本期给大家讲讲iphone所有型号上市顺序 第一代iPhone于2007年1月9日由苹果公司前首席执行官史蒂夫 乔布斯发布 并在2007年6月29日正式发售 第二代iPhone 3G于2008年6月10日由美国苹果公司的掌门人史
  • 【Linux之shell脚本实战】统计 Linux 进程相关数量信息

    Linux之shell脚本实战 统计 Linux 进程相关数量信息 一 脚本要求 二 检查本地服务器状态 1 检查系统版本 2 检查系统内核版本 三 配置脚本注释模板 1 编辑 vimrc 文件 2 检查模板生效情况 四 编写ps aa s
  • 0基础速通MySql基础

    一 基本配置 经过一系列配置后 可以与客户端进行连接 二 基本操作 数据模型 1 关系型数据库 RDBMS 概念 建立在关系模型基础上 由多张相互连接的二维表组成的数据库 2 数据模型 MySQL是关系型数据库 是基于二维表进行数据存储的
  • 正点原子阿波罗STM32F429开发板资料发布,采用底板+核心板

    正点原子阿波罗STM32F429开发板资料发布 采用底板 核心板 https www amobbs com thread 5654611 1 1 html 正点原子STM32开发板 http www openedv com docs boa
  • IP addr添加网络的使用

    IP addr 添加网络的使用 添加IP到网口 root localhost ip addr add 192 168 10 100 24 dev em1 查看添加的IP root localhost ip addr show 移除添加的IP
  • 卸载或重新安装JDK出现"Windows Installer程序包有问题,此安装需要的DLL不能运行"解决方法(转)

    首先确保windows installer服务是开启的 运行services msc 看看windows installer服务是否启动 先启动看看能否解决 当然本人的是一直启动着的但还是卸载不了 想办法去删注册表却删不全 总是没法解决 之
  • 期货反向跟单的四大跟单禁忌

    对于在反向跟单路上的朋友 经典的 二八定律 这么完美 它依然坚不可摧 但是跟单落地的结果却不一定能成功 反向跟单经验已经做过多次介绍 不过成功各有不同 但是误区无非就以上几个 1忌 不加筛选 盲目乱跟 跟单的样本数据 必须经过筛选 不能不管
  • Arthas & GC日志-JVM(十八)

    上篇文章说jvm的实际运行情况 Jvm实际运行情况 JVM 十七 Arthas介绍 因为arthas完全是java代码写的 我们直接用命令启动 Java jar arthas boot jar 启动成功后 选择我们项目的进程 进入我们可用d
  • Uniapp学习之从零开始写一个简单的小程序demo(新建页面,通过导航切换页面,发送请求)

    先把官网文档摆在这 后面会用到的 uniapp官网文档 https uniapp dcloud net cn vernacular html 一 开发工具准备 1 1 安装HBuilder 按照官方推荐 先装一个HBuilder 下载地址