二、uni-app模板块常用写法以及注意事项

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二、uni-app模板块常用写法以及注意事项相关的知识,希望对你有一定的参考价值。

参考技术A v-for 指令需要使用 item in items 形式的特殊语法,其中 items 是源数据数组,而 item 则是被迭代的数组元素的别名。
第一个参数 item 则是被迭代的数组元素的别名。
第二个参数,即当前项的索引 index ,是可选的。

结果

当 Vue 正在更新使用 v-for 渲染的元素列表时,它默认使用“就地更新”的策略。如果数据项的顺序被改变,Vue 将不会移动 DOM 元素来匹配数据项的顺序,而是就地更新每个元素,并且确保它们在每个索引位置正确渲染。

显示效果

此时把Y的 switch 进行打开,显示效果

随后更改数据源为 datList2 ,显示效果为

此时发现本来是Y打开,顶部新增一个元素后变成是X打开,这就是所谓的就地更新每个元素,每个索引位置进行正确渲染,而 switch 是没有被重新渲染的(因为数据源没有控制 switch 开关状态的保存),所以显示的位置就不对了。

如果列表中项目的位置会动态改变或者有新的项目添加到列表中,并且希望列表中的项目保持自己的特征和状态(如 input 中的输入内容, switch 的选中状态),需要使用 :key 来指定列表中项目的唯一的标识符。

重复如上操作,显示为正确

如不提供 :key ,会报一个 warning , 如果明确知道该列表是静态,或者不必关注其顺序,可以选择忽略。

#注意# 当同一个页面同时存在两个或两个以上的 v-for 遍历的时候, key 值不能重复否则 H5 报错

移动端开发基础16使用代码块直接创建组件模板

为提升开发效率,HBuilderX uni-app 常用代码封装成了以 u 开头的代码块,如在 template 标签内输入 ulist 回车,会自动生成如下代码:

技术图片

注意需保障uni-list组件在项目的components目录下。比较简单的方式,是新建项目时,选 uni ui项目模板,在里面即可随便敲所有u开头的代码块。如果不是 uni ui项目模板,那么需要去插件市场手动把uni ui组件下载到项目中

代码块分为Tag代码块、JS代码块,如在 script 标签内输入 uShowToast 回车,会自动生成如下代码:

 技术图片

uni-app已支持Tag代码块:

(1) uButton:按钮

(2) uCheckbox:复选框

(3) uGrid:宫格,需引用uni ui

(4) uList:列表,需引用uni ui

(5) uRadio:单选框

(6) uSwiper:滑块视图

(7) uCard:卡片

(8) uImage:图片

(9) uIcons:图标

(10)uMap:地图

……

几乎各种组件不管是内置组件还是uni ui的组件,均已封装为代码块,在HBuilderXvue代码template区域中敲u,代码助手会提示所有可见列表。也可在HBuilderX菜单工具-代码块设置-vue代码块的左侧列表查阅所有。

除组件外,其他常用代码块包括:

viewfor:生成一段带有v-for循环结构的视图代码块

vbase:生成一段基本的vue代码结构

uniapp支持的JS代码块

(1)  uRequest:发起网络请求

(2)  uGetLocation:获取当前的地理位置、速度

(3)  uShowToast:显示提示框

(4)  uShowLoading:显示加载提示框

(5)  uHideLoading:隐藏提示框

(6)   uShowModal:显示模态弹窗

(7)   uShowActionSheet:显示菜单列表

(8)   uNavigateTo:打开新页面

(9)   uNavigateBack:页面返回

(10) uRedirectTo:页面重定向

(11) uStartPullDownRefresh:触发下拉刷新

(12) uStopPullDownRefresh:停止当前页面下拉刷新

(13) uLogin:登录

(14) uShare:分享

(15) uPay:支付

......

几乎各种常用js api,均已封装为代码块,在HBuilderXjs代码中敲u,代码助手会提示所有可见列表。也可在HBuilderX菜单工具-代码块设置-js代码块的左侧列表查阅所有。

uniapp支持的vue js代码块

(1) vImport:导入文件

(2) edexport default

(3) vData:输出 data(){return{}}

(4) vMethod:输出 methods:{}

(5) vComponents:输出 components: {}

uniapp支持的其他常用js代码块

(1) iff:简单if

(2) forrfor循环结构体

(3) forifor循环结构体并包含i

(4) funn:函数

(5) funa:匿名函数

(6) rtreturn true

(7) clog:输出:"console.log()"

(8) clogvar:增强的日志输出,可同时把变量的名字打印出来

(9) varcw:输出:"var currentWebview = this.$mp.page.$getAppWebview()"

(10) ifiosiOS的平台判断

(11) ifAndroidAndroid的平台判断

预置代码块不满足需求的话,可以自定义代码块

以上是关于二、uni-app模板块常用写法以及注意事项的主要内容,如果未能解决你的问题,请参考以下文章

vue:传参的三种方式以及props的三种写法以及传参的注意事项

跨平台应用开发进阶(五十五):uni-app 实现内容分享

uni-app文章详情-富文本展示 优雅展示代码块

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

uni-app下使用vant组件

uni-app下使用vant组件