uni-app开发和常规Vue开发
uni-app开发和常规Vue开发
个人博客:uni-app开发和常规Vue开发
uni-app
是一个使用 Vue.js 开发所有前端应用的框架,开发一次,可以发行为App、小程序、网站,
常规Web开发只能发行为网站。
标签
Vue中的div标签对应于uni-app是view
Vue中的span标签对应于uni-app中是text
生命周期
uni-app中有三种类型的生命周期,应用生命周期、页面生命周期、组件生命周期
应用生命周期
应用生命周期只在App.vue
中有效
uni-app
支持以下生命周期函数(部分)
函数名 | 说明 |
---|---|
onLaunch |
当uni-app 初始化完成时触发(全局只触发一次)
|
onShow |
当uni-app 启动时,或从后台进入前台时显示
|
onHide |
当uni-app 从前台进入后台
|
onError |
当uni-app 报错时触发
|
app.vue
<script>export default {onLaunch: function() {console.log('App Launch')},onShow: function() {console.log('App Show')},onHide: function() {console.log('App Hide')}}
</script><style>/*每个页面公共css */
</style>
页面生命周期
页面生命周期
组件生命周期
Vue组件生命周期
uni-app
组件支持的生命周期,与vue标准组件的生命周期相同
路由
uni-app
uni-app
页面路由为框架统一管理,开发者需要在pages.json里配置每个路由页面的路径及页面样式。
新建页面时,会在pages.json
中自动生成路由
pages.json
"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages{"path": "pages/index/index","style": {"navigationBarTitleText": "uni-app"}},{"path" : "pages/login/login","style" : {"navigationBarTitleText": "","enablePullDownRefresh": false}}]
uni-app
有两种页面路由跳转方式:使用navigator组件跳转、调用API跳转。
使用navigator组件跳转
<navigator url="/" class="link">首页</navigator>
调用API跳转
uni.navigateTo({url: '/pages/login/login' })
pages \ index.vue
<template><view class="index"><text class="text">首页</text> <button class="btn" @click="login">登录</button></view>
</template><script>export default {methods: {login() {uni.navigateTo({url: '/pages/login/login'})}}}
</script><style lang="less" scoped>.index {text-align: center;.btn {width: 100px;height: 50px;}}</style>
pages \ login \ login.vue
<template><view class="login">login<navigator url="/" class="link">首页</navigator></view>
</template><script>export default {data() {return {}},methods: {}}
</script><style>.login {text-align: center;}.link {color: blue;}
</style>
插一嘴:HBuilderX感觉挺人性化的,缺少的插件保存时会自动帮你安装
Vue路由
Vue路由
相对uni-app的路由设置来说,Vue的路由配置稍稍麻烦一点,先安装vue-router,再建router文件夹,设置路由规则,并导出路由给Vue使用。详情点击上面的链接
Vue3相对于Vue2,也有所变化:Vue3路由
路由守卫
通过安装uni-simple-router
插件,实现路由守卫功能
安装:npm install uni-simple-router
文档:uni-simple-router
使用:快速上手
页面之间传值
通过查询参数
首页
<template><view class="index">首页<navigator :url="'/pages/login/login?msg='+msg" class="login">登录</navigator></view>
</template><script>export default {data() {return {msg: 'Hello, login Pages'}}}
</script><style lang="less" scoped>.index {width: 500px;text-align: center;margin: 20px auto;}.login {color: blue;}
</style>
登录页
<template><view class="login"><h2>登录</h2>首页发送的信息: {{msg}}</view>
</template><script>export default {data() {return {msg: ''}},methods: {},onLoad(options) { // 其参数为上个页面传递的数据,参数类型为 Object(用于页面传参)this.msg = options.msg}}
</script><style scoped>.login {text-align: center;width: 300px;margin: 20px auto;}
</style>
以下部分,uni-app和常规Vue开发一样,属于是复习内容
父子组件传值
和Vue一样,顺便复习一下
Vue组件间的数据共享
父传子(props)
子组件
<template><view class="son">子组件: 父组件发送的信息:{{msg}}</view>
</template><script>export default {name:"Son",props: {msg: {type: String,default: ''}}}
</script><style scoped>.son {width: 300px;height: 150px;line-height: 150px;background-color: pink;margin: 20px auto;}
</style>
父组件
<template><view class="index"><text class="text">父组件: {{msg}}</text> <Son :msg="msg"></Son></view>
</template><script>import Son from '../../components/Son.vue'export default {components: {Son},data() {return {msg: 'Hello, Son'}}}
</script><style lang="less" scoped>.index {width: 500px;height: 250px;text-align: center;background-color: skyblue;margin: 0 auto;}</style>
子传父(emit)
子组件
<template><view class="son">子组件: {{msg}}<button @click="sendMsg">发送信息给父组件</button></view>
</template><script>export default {name:"Son",data() {return {msg: 'Hello Father'}},methods: {sendMsg() {this.$emit('getMsg', this.msg)}}}
</script><style scoped>.son {width: 300px;height: 150px;line-height: 150px;background-color: pink;margin: 20px auto;}
</style>
父组件
<template><view class="index"><text class="text">父组件: 子组件发送的信息: {{msg}}</text> <Son @getMsg="getMsg"></Son></view>
</template><script>import Son from '../../components/Son.vue'export default {components: {Son},data() {return {msg: ''}},methods: {getMsg(msg) {this.msg = msg}}}
</script><style lang="less" scoped>.index {width: 500px;height: 250px;text-align: center;background-color: skyblue;margin: 0 auto;}</style>
uni-app开发和常规Vue开发相关推荐
- 最新仿网易优选APP商城源码+Vue开发全家桶
正文: 最新仿网易优选APP商城源码+Vue开发全家桶,源码采用Vue全家桶+mintUI+axios技术栈开发,只写了前端,后端采用网易商场抓包接口,也可以二次修改成自己的接口. 安装方法: 1.将 ...
- Web前端开发技术:Vue开发基础(1)
一.实验目的: 掌握Vue开发环境的搭建.开发和调试工具的使用以及Vue项目的创建. 掌握Vue实例的创建及数据的绑定.Vue的事件监听操作.Vue组件的注册及组件之间的数据传递的方法以及Vue生命周 ...
- 前后端开发bug:python+vue开发图片验证码接口时,刷新浏览器不显示图片验证码,点击以后才可以显示和切换
现象: 刷新浏览器页面,图片验证码不显示,点击图片验证码区域以后,才能显示也可以切换显示下一个. 排查思路: 调用开发者工具,检查是否向后端发起获取图片验证码请求. 如果生成了图片uuid编号,发送了 ...
- php开发数独,用vue开发一个所谓的数独
1.前言 最近的后台管理系统页面,功能暂时没有新的需求,就在想首页放什么东西,最近我想到的就是放个所谓的数独,为什么是所谓的数独,因为规则不同于标准的数独,只要求每一行每一列数字不一样就可以了!这个实 ...
- uni app页面跳转后,刷新页面参数丢失问题
正常页面路由跳转地址应该是这样的:http://localhost:8080/#/pages/study/hiring?id=1393112968202870785 浏览器刷新之后就编程这样子:htt ...
- uni app 开发微信小程序及上线体验
uni app 开发微信小程序及上线体验 项目创建及微信小程序AppId的申请 本次开发的是电商类的微信小程序,这里用到的是HBuilderX这个编辑器.之前用的Visual Studio Code ...
- 切换 uniapp_万能前端框架uni app初探03:底部导航开发
前言 本节我们使用uni app的底部导航功能,点击不同tab会显示不同页面,这个功能在实际项目开发中几乎是必备的. 一.基础知识 1.tabBar 如果应用是一个多 tab 应用,可以通过 tabB ...
- 基于Vue开发的电商APP项目——蘑菇街app
基于Vue开发的电商APP项目--蘑菇街 项目源码:https://github.com/Limna777/Shopmall.git 1.项目描述 2.使用的插件或第三方库 3.页面主要实现的功能 1 ...
- 使用vue开发APICloud软件APP的教程
一.APICloud创建程序 1.APICloud后台创建应用 2.APICloud拉取代码,APICloud开发工具地址 APICloud开发工具PC端,先下载APICloud开发工具,打开开发工具 ...
- Vue项目——Vue开发掘金WebApp(仿掘金App)
这里写自定义目录标题 正文 介绍 效果图 完成度 交互完成度 后续 正文 介绍 该项目是抄袭仿照掘金客户端使用Vue开发的WebApp.里面所有的API均来自官方Android.页面基本上和掘金App ...
最新文章
- 在Linux系统下安装gnuplot遇到的问题
- java new一个对象的过程中发生了什么
- php mysql 排序规则_php 数组排序以及按照某个字段排序
- jQuery进阶部分笔记
- Multi_thread--Linux下多线程编程互斥锁和条件变量的简单使用
- 测试SQLServer拆分字符串到临时表
- ansible批量安装服务器思路
- 利用EXP/IMP进行数据迁移,如何转换表空间操作(完整版)
- Coding and Paper Letter(四十八)
- python金额转换汉字为数字
- ASP.NET MVC入门
- oracle11g磁盘阵列 pdf,融会贯通 从Oracle11g到SQL Server2008 中文PDF版 16.7MB
- 超详细open vn搭建之Linux亲测可用
- 超级计算机排行榜历年,历代游戏主机浮点运算能力排行榜 究竟谁才是真正的性能怪兽...
- TypeError:‘bool’ oboject is not callable
- office365在线安装太慢,换离线安装终于搞定
- 恩智浦 i.MX8X BSP 的编译
- php虚拟主机搭建微信公众号服务器
- python面向对象2
- 前端开发者必备的 12 个工具
热门文章
- 群晖室开虚拟机安装于服务器,VMware Workstation安装群晖服务器
- [渝粤教育] 西南科技大学 机械设计基础 在线考试复习资料
- 【预测模型】基于粒子群算法优化最小二乘支持向量机lssvm实现预测附matlab源码
- WIN10不显示sql2005服务器,win10系统安装sQLserver2005提示“sQL server服务无法启动”的设置办法...
- vs2015调试iisexpress无法启动的问题解决方案整理
- python 制作抽奖箱_海安当地横幅制作值得推荐,抽奖箱制作-漫谈
- WebService专题(二)-WebService原理
- 机械制图之平面图形的尺寸分析
- 微软云服务器的优点,探寻:微软私有云的优势究竟是什么
- 浅谈JAVA工作流的优雅实现方式