uni-app小程序开发教程(uni app 小程序)

小程序开发 1707
今天给各位分享uni-app小程序开发教程的知识,其中也会对uni app 小程序进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、uniapp开发微信小程序富文本编辑器(样式仿腾讯文档)

今天给各位分享uni-app小程序开发教程的知识,其中也会对uni app 小程序进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

uniapp开发微信小程序富文本编辑器(样式仿腾讯文档)

照着腾讯文档小程序开发了微信小程序富文本编辑器组件,这几天做个整理,如有这个需求可以前往腾讯文档小程序操作看看实际效果。毕竟参照的是微信自家小程序,无法做到百分百效果,只能按现有开放api尽可能实现。

项目地址:

uniapp插件市场:

editor富文本编辑器组件官方文档:

否则会受到小程序css影响。小程序本身editor标签有css样式:

editor {

display: block;

position: relative;

box-sizing: border-box;

-webkit-user-select: text;

user-select: text;

outline: 0;

overflow: hidden;

width: 100%;

height: 200px;

min-height: 200px;

}

that.updatePosition(keyboardHeight)

that.editorCtx.scrollIntoView()

在插入目标文字时,将值设为\n',可以实现换行

this.editorCtx.insertText({ text: '\n' });

参考:请问editor组件控制拉起键盘操作支持吗?

小程序技术专员-sanford 2019-09-20

不支持的。iOS无法通过接口拉起键盘,必须用户点击;安卓则可以。所以,终究是不一致,不行。。

该组件主要为微信editor组件的api调用集成封装,因此受到的限制同文档描述一致,即编辑器内支持部分 HTML 标签和内联样式,不支持class和id,支持的标签详见: 。

不满足的标签会被忽略,div会被转行为p储存。

这也是为什么在做富文本解析时,仅仅用rich-text组件无法有效还原html内容,在解析内容的时候就需要将内容中的HTML标签转换成微信小程序所支持的标签。因此最好方式是引入市场封装好的富文本解析插件去解析html。

所以,开发者需要自行权衡在做富文本编辑开发时,是否使用微信自带的editor组件,或者参考腾讯文档小程序采用webview内嵌网页等方式去渲染。

小程序富文本编辑器editor初体验:( )

如果是微信原生开发,将demo组件中的相关dom元素标签和api换成微信原生即可。

五子棋(1)——uniapp 小程序项目搭建

1.HbuilderX创建项目,选择uni-app,选择默认模板1.HbuilderX创建项目,选择uni-app,选择默认模板

2.配置appId

3.vuex

uni-app 内置了 vuex。但是需要结合第三方来一起协作。默认的模板项目首先是没有node-modules模块依赖的,首先需要初始化webpack,然后建store文件夹,在main.js中引入

4.创建自己习惯的目录结构

5.配置微信开发者工具路径

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

uni-app 项目小程序端支持 vue3 介绍

随着 vue3 的发布, 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 中运行,方便运行到各个平台。

欢迎开发者反馈使用该版本遇到的问题,我们将积极收集意见。

后续:

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。

uni-app使用Vue.js

说明 :uni-app基于 Vue 2.0 实现,开发者需注意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 中的函数。

为节约性能,我们将 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="8d39a163973a0246 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提供了丰富的 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组件为例):

备注 :第二种解决方式在某些组件可能造成抖动,推荐第一种解决方式。

uni-app怎么进行上线?

提前申请和准备要要用的证书

用HBuilderX打正式包。

1)要在manifest.json里面配置App图标和启动图片

2)App图标尺寸:png 格式图片 256*256

启动图片尺寸:png 格式图片 480762 7201242 1080*1882

3. app上架材料梳理:

一般看个人要求,在腾讯、华为、小米各个平台上线。

每个平台都要注册开发者账号,用企业信息注册,注意开发者账号公司和软著要一致,否则华为、腾讯会让你重新按软著上的公司名称注册开发者账号。小米要提供一个代理授权书。

1)共同提交的材料:

1.公司名称

2.公司营业执照、其中百度需要营业执照复印件并且在文字的地方加盖公章。

3.企业法人身份证照片(正反两面),其中百度另外要求上传手持身份证照片(正反两面)。

4.企业对公账号,其中华为和小米打钱验证,利用金额进行验证。

5.企业地址。

2) 提交应用审核资料:

1.软著,jpg,png,pdf,3种格式。

2.企业营业执照,pg,png,pdf,种格式。

3.图标,尺寸不一致。216216 jpg 512512 jpg

4.应用内截图,多截几张,最后用测试账号截图。

5.应用简介和应用描述。

9.icp备案截图。

7.如果软著公司和开发者账号不一致,需要提供代理授权书,签字盖章。

8.隐私政策网址。

上架成功后需要在各个商城自行下载。

利用uniapp开发小程序云函数

config.json:

index.js:

package.json:

安装依赖包后启动项目即可打开微信开发者工具

注意:这里上传云函数可能失败。

解决:关闭微信工具并重开,再次上传即可。

个人建议,若要开发云函数,最好直接在小程序中开发,在uniapp中开发不仅麻烦且其它平台不通用。

uni-app小程序开发教程的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于uni app 小程序、uni-app小程序开发教程的信息别忘了在本站进行查找喔。

扫码二维码