微信小程序实现computed计算属性

微信小程序实现computed计算属性,第1张

上篇博客 讲了小程序实现watch机制,这篇介绍如何实现computed计算属性

小程序的计算属闷握性和Vue.js的不太一样——小程序在.wxml(不是.js)文件中定义(其实是借用wxs标做罩腊签实现的):

计算属性中很可能要用到 data ,亲测下来似乎引用不到,即不能纯滑通过 this.data.xxx 访问到,可以换种方式实现——在调用的地方,往函数里传递需要使用的data字段,比如:

最近一直在做小程序,工作中也遇到了一些问题,踩了一些坑,所以想着写篇文章记录下来,并借此将小程序开发的相关知识进行梳理,方便以后参考,也为刚刚接触小程序的人提供一些思路方法,互相学习,共同进步。

1、微信小程序的目录结构及配置说明

app.json是小程序的全局配置文件,所有配置项key必须使用 双引号括起来 ,value值为字符串类型的也必须使用双引号, 不支持单引号 。

1.1 pages

pages选项是必须配置的。该配启孙置项注册了小程序所有页面的地址,其中每一项都是页面的 路径+文件名 。每一个页面都是由.json、.js、.wxml、.wxss四个文件组成,并且 四个文件的名字必须要一致 。

1.2   tabBar

tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面。其中 list 接受一个数组,只能配置最少 2 个、最多 5 个 tab

1.3 usingComponents

使用自定义组件或者插件提供的组件前,必须先在这里声明

2、开发微信小程序遇到的问题及解决办法

2.1 双向绑定

微信小程序不支持通过v-model的方式实现自动双向绑定,需要给表单元素通过绑定事件,并使用this.setData来赋值实现。

2.2 computed和watch

微信小程序默认是不支持computed和watch的,如需要使用这两项功能,需要安装miniprogram-computed ,安装方法见 官方文档

2.3 对象赋值

如果给对象的属性赋值,可以使用this.setData({'obj.key':value})来赋值,但是如果给某个团含属性名是变量的属性赋值,通过这种方法是会报错的,经过多次尝试,发现使用如下的方式赋值成功。

let newObj = `obj.${key}`

this.setData({

[newObj]: value

})

2.4 scroll-view

当页面存在d框容器,并且d框里的内容是需要滚动条滚动展示时,如果d框下面那层的容器使用view元素的话,会导致滚动d框内容时,同时会触发d框下面那层的页面容器也会一起滚动,解决此问题可以将d框下面的容器使用scroll-view元素替代view元素

3、小程序测试和发布

由于服务器域名request合法域名每个月 只能修改5次 ,因此在本地开发小程序时,需要在微信调试工具中设置不校验合法域名。等小程序上线前再一次性将所有域名添加到小程序管理后台。

以上便是此次小程序开发中积累的一些经验,希望能给刚刚接触小程序的人提供一些思路方法,悄或链在以后的开发中,如果遇到新的问题,继续更新文档......

swiper数量达到大约400+时候会出现明显滑动卡顿,渲染慢的问题,达到1000+时候需要几十秒时间,或者可能导致渲染失败。

配置握森 circular="true" 属性开启衔接滑动,即播放到末尾后重新回到开头段唯亩。然后固定用于展示的swiper-item只设置3个,当滑动时山模候去替换展示的数据。这种方法可以展示几千万的数据展示都没问题。

//页面源码

1、swiper-item的key一定要设置,并且用 index 。

2、如果只有一张情况,不想让它来回滚动。可以设置 circular ,但是 circular 无法直接动态设置,我们可以使用 computed 来设置

https://gitee.com/xiaoguoyao/uni-app


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12499157.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存