当前位置: 首页 > news >正文

前端vue2迁移至uni-app

1.确定文件存放位置

components: 继续沿用
pages: views内容移动到pages
static: assets内容移动到static
uni_modules: uni-app的插件存放位置

  • 迁移前
src├─assets│  └─less├─components│  ├─common│  │  ├─CommentPart│  │  └─MessDetail│  ├─home│  │  └─Search│  ├─message│  ├─partner│  │  └─detail│  └─profile├─router├─store├─utils└─views├─home├─partner└─post
  • 迁移后
src
├─components
│  ├─common           # 通用组件,可放之前的 CommentPart 和 MessDetail
│  ├─home             # 首页相关组件,可放之前的 Search
│  ├─message          # 消息相关组件
│  ├─partner          # 合作伙伴相关组件
│  │  └─detail
│  └─profile          # 用户资料相关组件
├─pages               # 存放uni-app页面
│  ├─home             # 主页
│  ├─partner          # 合作伙伴页面
│  └─post             # 帖子页面
├─static              # 放置静态资源文件,如图片、字体等
├─store               # vuex状态管理
├─uni_modules         # 放置uni-app插件
├─utils               # 工具函数
├─styles              # 样式文件,如.less或.css
└─router              # 路由配置

2.修改原先语法

  • 标签和事件改动:
    • div -> view
    • @click -> @tap
  • UI改动:
    • 把 vant => uni-ui
    • 下拉刷新:van-pull-refresh => scroll-view
    • 触底加载:van-list => scroll-view
    • px => rpx
  • 路由相关:
    • this.$router.push -> uni.navigateTo
    • this.$router.replace -> uni.redirectTo
    • this.$router.back() -> uni.navigateBack()
    • this.$route.params.id -> onLoad的options获取
  • 生命周期:
    • mounted -> onLoad/onShow
    • created -> onLoad
    • beforeDestroy -> onUnload
  • 请求相关:
    • ajax -> uni.request
    • 加载状态使用 uni-load-more 组件
  • 交互:
    • Toast -> uni.showToast
    • Dialog -> uni.showModal
  • 页面:
    • location.reload -> navigateBack
    getCurrentPages().pop();
    uni.navigateBack({delta: 1
    })
    

store配置

// 1. 导入 store 的实例对象
import store from './store/store.js'// 省略其它代码...const app = new Vue({,store
})
app.$mount()

请求改造

改造前

    const url = HomeApis.MessDetailUrl.replace('{}', this.$route.params.id)ajax.get(url).then(({ data }) => {// console.log(data)this.message = data.messagethis.comments = data.comments})

改造后

    onLoad(options) {// 获取页面参数const id = options.idthis.loadMessageDetail(id)},methods: {loadMessageDetail(id) {const url = HomeApis.MessDetailUrl.replace('{}', id)uni.showLoading({title: '加载中'})uni.request({url: url,method: 'GET',success: (res) => {const {data} = res;if (res.statusCode === 200) {  // 假设 200 是成功状态码this.message = data.messagethis.comments = data.comments} else {uni.showToast({title: data.msg || '加载失败',icon: 'none'})}},fail: (err) => {uni.showToast({title: '网络错误',icon: 'none'})},complete: () => {uni.hideLoading()}})}}
}

相关文章:

前端vue2迁移至uni-app

1.确定文件存放位置 components: 继续沿用 pages: views内容移动到pages static: assets内容移动到static uni_modules: uni-app的插件存放位置 迁移前 src├─assets│ └─less├─components│ ├─common│ │ ├─CommentPart│ │ └─MessDetail│ ├─home│…...

恋爱脑学Rust之闭包三Traits:Fn,FnOnce,FnMut

在Rust中,FnOnce、FnMut和Fn是三个用于表示闭包(closure)类型的trait。闭包是一种特殊的函数,它可以捕获其环境变量,即在其定义时所处的作用域中的变量。以下是关于这三个trait的详细介绍: 1. FnOnce&#…...

区块链介绍

区块链(英文名:blockchain或block chain)是一种块链式存储、不可篡改、安全可信的去中心化分布式账本,它结合了分布式存储、点对点传输、共识机制、密码学等技术,通过不断增长的数据块链(Blocks&#xff09…...

git回滚间隔的提交

如果你需要回滚几个非连续的提交,可以使用 git revert 来选择性地撤销这些提交。这样做不会改变提交历史,只是会在当前分支上创建新的提交来反转指定的更改。 ### 使用 git revert 回滚间隔的提交 1. **查看提交历史**: 首先&#xff0c…...

Map和Set(数据结构)

一、概念 Map 和 set 是一种专门用来进行搜索的容器或者数据结构,其搜索的效率与其具体的实例化子类有关。 Map 和 Set 是一种适合动态查找的集合容器。 模型 一般把搜索的数据称为关键字( Key ),和关键字对应的称为值&#xff0…...

vue3uniapp实现自定义拱形底部导航栏,解决首次闪烁问题

前言: 我最初在网上翻阅查找了很多方法,发现大家都是说在page.json中tabbar中添加:"custom": true,即可解决首次闪烁的问题,可是添加了我这边还是会闪烁,因此我这边改变了思路,使用了虚拟页面来解…...

新需求编码如何注意低级错误代码

1. 日常开发常见错误问题 变量拷贝未修改变量定义的值刚开始是随意写的一个值,想等到上线的时候再改成正确的,但是上线的时候忘记改了程序常量配置的错误逻辑关系判断错误 常见的如都不为null、都不为空集合判断不为空逻辑取反了多个关系的 && …...

系统架构图设计(行业领域架构)

物联网 感知层:主要功能是感知和收集信息。感知层通过各种传感器、RFID标签等设备来识别物体、采集信息,并对这些信息进行初步处理。这一层的作用是实现对物理世界的感知和初步处理,为上层提供数据基础网络层:网络层负责处理和传输…...

windows 文件监控 c++ 11及以上版本可用

在该版本上稍微改了一下https://blog.csdn.net/weixin_50964512/article/details/125002563 #include<iostream> #include<string> #include<Windows.h> #include<list> #include<locale> using namespace std;class WatchFolder {HANDLE m_hFi…...

jsMind:炸裂项目,用JavaScript构建的思维导图库,GitHub上的热门开源项目

嗨&#xff0c;大家好&#xff0c;我是小华同学&#xff0c;关注我们获得“最新、最全、最优质”开源项目和工作学习方法 jsMind 是一个基于 JavaScript 的思维导图库&#xff0c;它利用 HTML5 Canvas 和 SVG 技术构建&#xff0c;可以轻松地在网页中嵌入和编辑思维导图。它以 …...

postman的脚本设置接口关联

pm常用的对象 变量基础知识 postman获取响应结果的脚本的编写 下面是购物场景存在接口信息的关联 登录进入---搜索商品---进入商品详情---加入购物车 资源在附件中&#xff0c;可以私聊单独发送 postman的SHA256加密 var CryptoJS require(crypto-js);// 需要加密的字符串 …...

【python】OpenCV—Tracking(10.3)—GOTURN

文章目录 1、功能描述2、模型介绍3、代码实现4、完整代码5、结果展示6、优缺点分析7、参考 1、功能描述 基于 Generic Object Tracking using Regression Networks 方法&#xff0c;实现单目标跟踪 2、模型介绍 &#xff08;1&#xff09;发表来自 Held D, Thrun S, Savarese…...

git pull遇到一个问题

shell request failed on channel 0 需要修改服务器配置[rootadmin ~]# cat /etc/security/limits.d/20-nproc.conf # Default limit for number of users processes to prevent # accidental fork bombs. # See rhbz #432903 for reasoning.* soft nproc 409…...

书生-第四期闯关:完成SSH连接与端口映射并运行hello_world.py

端口映射完成后&#xff0c;访问127.0.0.1&#xff1a;7860成功展示如下界面&#xff1a; 书生浦语大模型实战营 项目地址&#xff1a;https://github.com/InternLM/Tutorial/...

【CSS3】css开篇基础(5)

1.❤️❤️前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; Hello, Hello~ 亲爱的朋友们&#x1f44b;&#x1f44b;&#xff0c;这里是E绵绵呀✍️✍️。 如果你喜欢这篇文章&#xff0c;请别吝啬你的点赞❤️❤️和收藏&#x1f4d6;&#x1f4d6;。如果你对我的…...

AI产品独立开发变现实战营,炒掉老板做自由职业赚大钱

课程背景 在经济下行和外部就业压力增大的背景下&#xff0c;为解决程序员的焦虑、失业和被裁员&#xff0c;我们开始了这门课程&#xff0c;课程基于3个真实已经盈利的商业项目&#xff0c;从0到1带你实践AI产品的设计、开发、运营和盈利模式的全流程开发。 课程特色 增加‘…...

【UE5.3 Cesium for Unreal】编译GlobePawn

目录 前言 效果 步骤 一、下载所需文件 二、下载CesiumForUnreal插件 三、处理下载的文件 四、修改代码 “CesiumForUnreal.uplugin”部分 “CesiumEditor.cpp”部分 “CesiumEditor.h”部分 “CesiumPanel.cpp”部分 “IonQuickAddPanel.cpp”部分 “IonQuickAd…...

idea连接数据库出现错误的解决方式

在使用idea连接数据库时&#xff0c;出现错误&#xff1a; The server has terminated the handshake. The protocol list option (enabledTLSProtocols) is set, this option might cause connection issues with some versions of MySQL. Consider removing the protocol li…...

数据分级分类工具:敏感数据识别中的AI智能化转型之路

背景 在现代数字化和信息化飞速发展的背景下&#xff0c;数据安全愈发成为企业与组织的重要课题&#xff0c;尤其是敏感数据的保护更是重中之重。敏感数据的泄露不仅会导致商业损失和法律责任&#xff0c;还会直接影响客户信任和企业声誉。为此&#xff0c;数据分级分类工具逐…...

乘云而上,OceanBase再越山峰

一座山峰都是一个挑战&#xff0c;每一次攀登都是一次超越。 商业数据库时代&#xff0c;面对国外数据库巨头这座大山&#xff0c;实现市场突破一直都是中国数据库产业多年夙愿&#xff0c;而OceanBase在金融核心系统等领域的攻坚克难&#xff0c;为产业突破交出一副令人信服的…...

设计模式4-工厂模式策略模式

目录 一 工厂模式 1.1 思想 1.2 案例 1.2.1 接口 1.2.2 实现类 1.2.3 工厂类 1.2.4 调用 二 策略模式 2.1 思想 2.2 案例 2.2.1 接口 2.2.2 实现类 2.2.3 策略类 2.2.4 调用 三 工厂模式策略模式 3.1 思想 3.2 案例 3.2.1 接口 3.2.2 实现类 3.2.3 定义F…...

使用Html5基本标签实现“时空电影网”案例步骤及详细代码

根据您的需求&#xff0c;我为您实现了对“时空电影网”电影节页面的美化。以下是详细的步骤&#xff1a; 设置一级标题“电影节”文字的颜色&#xff1a;将一级标题的颜色设置为深蓝色&#xff08;#0000FF&#xff09;。 <h1><font color"darkblue">电…...

Servlet 3.0 新特性全解

文章目录 Servlet3.0新特性全解Servlet 3.0 新增特性Servlet3.0的注解Servlet3.0的Web模块支持servlet3.0提供的异步处理提供异步原因实现异步原理配置servlet类成为异步的servlet类具体实现异步监听器改进的ServletAPI(上传文件) Servlet3.0新特性全解 tomcat 7以上的版本都支…...

VUE组件学习 | 五、v-for组件

v-for 指令基础知识 v-for 是 Vue.js 中的一个指令&#xff0c;用于基于源数据多次渲染元素或模板块。它类似于 JavaScript 中的 for 循环。 基本语法 <template><div><!-- 基本列表渲染 --><ul><li v-for"item in items" :key"i…...

uniapp写移动端,适配苹果手机底部导航栏,ios安全区问题,苹果手机遮挡底部信息,uview的u-action-sheet组件

手机上有很多组件&#xff0c;需要手机底部弹窗来做选择,picker选择器&#xff0c;select列选择器呀这些&#xff0c;在苹果手机上会被底部nav遮住 采用了好几种配置的方式&#xff0c;多多少少都不太行&#xff0c;还是采用css来做吧&#xff0c;但是css来写想让它生效&#x…...

CentOS9 Stream上安装Edge浏览器

CentOS9 Stream上安装Edge浏览器 1. 下载 Microsoft Edge RPM 包2. 安装 Edge 浏览器3. 启动 Microsoft Edge4. 更新 Microsoft Edge&#xff08;可选&#xff09; 如果运行的时候出现错误&#xff1a;[5809:5809:1030/234136.530802:ERROR:zygote_host_impl_linux.cc(101)] Ru…...

el-datepicker此刻按钮点击失效

文章目录 此刻按钮失效原因&#xff1a;使用了禁用未来日期解决办法&#xff1a;重写此刻按钮点击事件代码&#xff08;包含禁用未来日期和时分秒的处理&#xff09;框出主要代码&#xff08;因为包含禁用日期功能&#xff09;&#xff08;取你所需&#xff09; 此刻按钮失效原…...

VUE组件学习 | 六、v-if, v-else-if, v-else组件

v-if、v-else-if 和 v-else 指令基础知识 在 Vue.js 中&#xff0c;v-if、v-else-if 和 v-else 是一组指令&#xff0c;用于根据表达式的值条件性地渲染元素。 基本语法 <template><div><!-- 基础条件渲染 --><h1 v-if"type A">类型 A&l…...

机器学习算法之回归算法

一、回归算法思维导图 二、算法概念、原理、应用场景和实例代码 1、线性回归 1.1、概念 ‌‌线性回归算法是一种统计分析方法&#xff0c;用于确定两种或两种以上变量之间的定量关系。‌ 线性回归算法通过建立线性方程来预测因变量&#xff08;y&#xff09;和一个或多个自变量…...

cordova android 内嵌vue页面 启动页之后白屏问题处理

困扰很久的问题 一直都用splash 做延迟加载 但在 一些android机器上还是会有 这短暂的白屏其实就是vue页面尚未完全渲染的间隙 处理方案 在html中添加 <body><div id"splash-screen" style"position: fixed; top: 0; left: 0; width: 100%; height: 1…...

新乡网站建设费用/百度认证平台官网

概述 在软件系统中&#xff0c;经常面临着“一系列相互依赖的对象”的创建工作&#xff1b;同时由于需求的变化&#xff0c;往往存在着更多系列对象的创建工作。如何应对这种变化&#xff1f;如何绕过常规的对象的创建方法&#xff08;new&#xff09;&#xff0c;提供一种“封…...

新网站该如何做网站优化呢/网页设计用什么软件

项目地址 github.com/LJWLgl/Comm… 概述 开发常用工具类总结&#xff0c;如果对你有用欢迎star~ 导入项目 <dependency><groupId>io.github.ljwlgl</groupId><artifactId>common-util</artifactId><version>2.0.1</version> </d…...

网站建设后台是什么/新闻头条今日最新消息

1、 复制 http://download.microsoft.com/download/e/f/b/efb39198-7c59-4ace-a5c4-8f0f88e00d34/vb6mousewheel.exe 下载下来 2、会出现一个英语的框&#xff0c;点yes,解压到桌面&#xff0c; 可以看到5个文件&#xff0c;其中有VB6IDEMouseWheelAddin.dll&#xff0c;把它…...

网站备案的服务器租用/简述获得友情链接的途径

1&#xff1a;树形菜单插件: z-tree 和dtree 2: 弹窗插件layer 3: 前端ui框架ace , h-ui , layui 4:产品设计图绘制软件Axure和Mockplus(推荐)转载于:https://www.cnblogs.com/ganbo/p/6393968.html...

如何找到能够建设网站的人/西安疫情最新消息

最近非常忙&#xff0c;所以没坚持看书。这样下去这本书怕是又要专门的时间收尾了&#xff0c;今天午睡醒的早&#xff0c;三四节才有课就快速得把基本概念过一下。其实这些类似背景现状的东西&#xff0c;平时大抵是不看的&#xff0c;但因为IMS对我而言是个全新的概念&#x…...

建网站公司 深圳/百度高级搜索页面

据媒体报道指出格力多名离职高管都已加盟飞利浦空调&#xff0c;飞利浦空调产研基地正式落户安徽滁州市&#xff0c;飞利浦空调即将在国内市场挑战格力&#xff0c;这对于后者来说将是又一个重大压力。格力电器原执行总裁黄辉担任飞利浦空调中国运营总部董事长&#xff0c;格力…...