本篇文章给大家谈谈小程序云开发vue,以及小程序云开发和传统小程序开发的区别对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
今天给各位分享小程序云开发vue的知识,其中也会对小程序云开发和传统小程序开发的区别进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
uni-app 项目小程序端支持 vue3 介绍
随着 vue3
小程序云开发vue的发布
小程序云开发vue, uni-app 也逐步支持 vue3 。
目前小程序平台已支持,h5、App 平台暂不支持。
除支持 vue3 语法特性外, uni-app 特有的生命周期钩子支持 Composition API ,如 onLaunch , onShow , onLoad …
下面介绍创建支持 vue3 的 uni-app 项目的流程,以及使用中的一些注意事项。vue3 相关问题请关注vue官方文档 vue3 中文文档。
目前仅支持 cli 方式创建支持 vue3 默认模板项目。
如果你之前没有使用过 vue-cli 方式创建过项目,需要先安装 vue-cli ,若已安装则跳过步骤 1。
步骤 1: 全局安装vue-cli
步骤 2: 用如下的命令创建vue3工程
步骤 3: 创建好工程后,进入对应目录
步骤 4: 将项目跑到微信平台
需要将编译后的文件 dist/dev/mp-weixin 导入微信开发者工具运行,也可将项目拖入 HbuildX 中运行,方便运行到各个平台。
欢迎开发者反馈使用该版本遇到的问题,我们将积极收集意见。
后续
小程序云开发vue:
DCloud之所以不支持vue3的h5和app版,主要是因为vue3的组件中很多语法的写法发生变化,这导致uni-app的h5版基础组件库和app版基础组件库的写法与vue3不兼容。
当然除了基础组件,插件市场的所有插件(包括uni ui),都不支持vue3。即便是uni-app已经推出的vue3的小程序版,也不支持插件市场的插件。
考虑到生态兼容的重要性,vue官方(尤雨溪)计划2021年4月中下旬推出新版,对vue2的语法做兼容,届时uni-app的h5版和app版将同时推出,并且插件市场的众多插件也将自动适配vue3版的uni-app。
开发小程序流程
开发小程序流程:
1、小程序账号注册
小程序需要在微信公众平台注册账号,来管理和发布小程序。账号是邮箱类型,需要公众号认证才能审核通过。
2、前期规划小程序功能
小程序前期要确定功能及类型,需要用到原型图,画出小程序的基本框架及功能。
3、小程序UI设计
根据前期的策划原型图,需要设计出小程序的页面。小程序的设计主要考虑用户体验度,突出重点,流程明确,导航来去自如,加载页面等等。
4、小程序前后端开发
小程序前端代码有小程序源生代码、html5、vue等代码可以编写,有条件建议用源生的代码,运行更快吧。小程序后端代码有php、jsp、asp-、php是应用最广泛的,性价比也最高。同样的功能开发,用php开发的成本最低。前后端开发完成之后,需要写下数据交互,这样小程序和后台的数据就连接起来了。
5、小程序开发测试和线上提交
小程序要对开发出来的功能进行测试,找到bug及时修复。测试代码运行速度,优化代码结构,,测试各个手机端兼容性,能承载多少网络带宽压力。
当小程序开发完毕之后,就要用到小程序账号来配置小程序的名称、图片等信息。然后提交代码给公众号平台审核,审核通过之后,在后台点发布,你的小程序就正式上线。
uni-app使用Vue.js
说明 :uni-app基于 Vue 2.0 实现
小程序云开发vue,开发者需注意Vue 1.0 - 2.0 的使用差异,详见 从 Vue 1.x 迁移 。
uni-app不仅支持应用生命周期和页面生命周期,还支持 vue 实例的如下生命周期函数:
注意 :不要在选项属性或回调上使用箭头函数,比如 created: () = console.log(this.a) 或 vm.$watch('a', newValue = this.myMethod())。因为箭头函数是和父级上下文绑定在一起的,this 不会是如你做预期的 Vue 实例,且 this.a 或 this.myMethod 也会是未定义的。
几乎全支持 Vue官方文档:模板语法 ,下面讲下不支持的情况。
(1)不支持纯HTML
uni-app的非H5端里所有的 BOM/DOM 都不能用,也就是说 v-html 指令不能用,可以使用 rich-text组件 代替。或者使用三方组件wxparse,在hello uni-app中有示例。
(2)不支持部分复杂的 JavaScript 渲染表达式
非H5端无法支持复杂的 JavaScript 表达式。目前可以使用的有 + - * % ?: ! == === < [] .,剩下的还待完善。
(3)不支持过滤器
编译到 App 和小程序平台时不支持使用过滤器,可以使用计算属性(computed)提前计算出数据(如果是数组类型,就提前计算整个数组),用以代替过滤器。
备注 : 自HBuilderX 1.7.1起,在微信小程序平台支持使用过滤器。
data 必须声明为返回一个初始数据对象的函数;否则页面关闭时,数据不会自动销毁,再次打开该页面时,会显示上次数据。
注意 :在微信小程序端,uni-app 将数据绑定功能委托给Vue,开发者需按Vue 2.0的写法实现数据绑定,不支持微信小程序的数据绑定写法,故如下写法不支持:
需修改为:
支持 Vue官方文档:计算属性 。
实现全局变量的方式需要遵循 Vue 单文件模式的开发规范。详细参考: uni-app全局变量的几种实现方式 。
非H5端不支持在 template 内使用 methods 中的函数。
备注 : 自HBuilderX 1.7.1起,在微信小程序平台支持支持在 template 内使用 methods 中的函数。
为节约性能,
小程序云开发vue我们将 Class 与 Style 的表达式通过 compiler 硬编码到 uni-app 中。
全支持 Vue官方文档:条件渲染 。
全支持vue列表渲染 Vue官方文档:列表渲染 。只是需要注意一点,嵌套列表渲染,必须指定不同的索引!需要填写 :key="xx" 。
注意 :同级多个 v-for 时 key 的值是不允许重复的,key 的绑定是不支持表达式的,需要按照以下方式处理。
几乎全支持 Vue官方文档:事件处理器 。事件映射表如下所示:
注意 :
(1)事件映射表中没有的原生事件也可以使用,例如map组件的regionchange 事件直接在组件上写成 @regionchange,同时这个事件也非常特殊,它的 event type 有 begin 和 end 两个,导致我们无法在handleProxy 中区分到底是什么事件,所以你在监听此类事件的时候同时监听事件名和事件类型既 <map @regionchange="functionName" @end="functionName" @begin="functionName"<map。
(2)为兼容各端,事件需使用 v-on 或 @ 的方式绑定,请勿使用小程序端的bind 和 catch 进行事件绑定。
(3)事件修饰符
(4)若需要禁止蒙版下的页面滚动,可使用 @touchmove.stop.prevent="moveHandle",moveHandle 可以用来处理 touchmove 的事件,也可以是一个空函数。
(5)按键修饰符:uni-app运行在手机端,没有键盘事件,所以不支持按键修饰符。
支持 Vue官方文档:表单控件绑定 。建议开发过程中直接使用 uni-app:表单组件 。用法示例:
(1)H5 的select 标签用 picker 组件进行代替
(2)表单元素 radio 用 radio-group 组件进行代替
组件是整个 Vue.js 中最复杂的部分,支持 Vue官方文档:组件 。有且只能使用单文件组件(.vue 组件)的形式进行支持。其他的诸如:动态组件,自定义 render ,和 <script type="text/x-template"
字符串模版等非H5端都不支持。详细的非H5端不支持列表:
(1)暂不支持在组件引用时,在组件上定义 click 等原生事件、v-show(可用 v-if 代替)和 class style 等样式属性(例:<card class="class-name" </card 样式是不会生效的)。
Slot(scoped 暂时还没做支持)
(2)动态组件
(3)异步组件
(4)inline-template
(5)X-Templates
(6)keep-alive
(7)transition
(8)class
(9)style
(10)组件里使用 slot 嵌套的其他组件时不支持 v-for
uni-app提供
小程序云开发vue了丰富的 UI组件 ,比如: picker , map 等,需要注意的是原生组件上的事件绑定,需要以 vue 的事件绑定语法来绑定,如 bindchange="eventName" 事件,需要写成 @change="eventName" 。如:
uni-app 支持配置全局组件,需在 main.js 里进行全局注册,注册后就可在所有页面里使用该组件。 注意 :Vue.component 的第一个参数必须是静态的字符串。示例:
(1)main.js 里进行全局注册
(2)index.vue 里可直接使用组件
在 uni-app 中以下这些作为保留关键字,不可作为组件名。
备注 :除以上列表中的名称外,标准的 HTML 及 SVG 标签名也不能作为组件名。
(1) 如何获取上个页面传递的数据
在 onLoad 里得到,onLoad 的参数是其他页面打开当前页面所传递的数据。
(2) 如何设置全局的数据和全局的方法
uni-app内置了 vuex ,在app里的使用,可参考 hello-uniapp 的 store/index.js 。
(3)如何捕获 app 的 onError
由于 onError 并不是完整意义的生命周期,所以只提供一个捕获错误的方法,在 app 的根组件上添加名为 onError 的回调函数即可。如下:
(4)组件属性设置不生效解决办法
当重复设置某些属性为相同的值时,不会同步到view层。 例如:每次将scroll-view组件的scroll-top属性值设置为0,只有第一次能顺利返回顶部。 这和props的单向数据流特性有关,组件内部scroll-top的实际值改动后,其绑定的属性并不会一同变化。解决办法有两种(以scroll-view组件为例):
备注 :第二种解决方式在某些组件可能造成抖动,推荐第一种解决方式。
微信小程序的组件和Vue的组件非常相似。
在微信小程序中有很多内置组件,比如button view input image等,有时候我们要自定义组件。和Vue的组件似的。
如何创建自定义组件:
新建一个components目录,在里边创建自定义组件
组件的组成:
使用组件:
一个简单的示例:
创建comp,代表页面;创建components/xxxx,代表组件。
创建组件:
使用组件:
注意:json文件中不能写注释啥的。这里的注释是为了解释清楚,在开发中不能写注释。
组件的注意事项:
组件的样式细节:
如何控制页面和组件的样式相互影响:
组件和页面相互通信
this.triggerEvent(事件名,参数对象,{}),最后是options,额外的一些选项
预留一个设备,以有利于对以后进行扩展。
好处:
例子:
在移动端,导航栏,nav-bar,分为左中右三部分。不把这三部分的内容写死。就用插槽,为了封装性更好。
单个插槽的使用很简单:
多个插槽的使用稍微复杂,要设置几个东西:
component构造器中可以写哪些东西,如下
uniapp和vue有什么区别?
vue和uni-app的区别如下:
1、uni-app可以通过打包实现一套代码多端运行,而vue不行。
2、uni-app有自动的框架预载,加载页面的速度更快,vue没有。
3、uniapp使用小程序的标签,vue使用web端的标签。
4、uni不支持vue-router,使用自带的路由。
uni-app的优点
优点一:
uni-app是一套可以适用多端的开源框架,一套代码可以同时生成ios,Android,H5,微信小程序,支付宝小程序,百度小程序等。
优点二:
uni-app对前端开发人员比较友好,学习成本比较低,首先uni-app是基于vue.js的。其次封装的组件和微信小程序的组件一样。
优点三:
uni-app使用HBX进行开发,HBX对于vue语法等支持可以说是比较完备了。
关于小程序云开发vue和小程序云开发和传统小程序开发的区别的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
小程序云开发vue的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于小程序云开发和传统小程序开发的区别、小程序云开发vue的信息别忘了在本站进行查找喔。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~