webstorm 格式化代码报错_小程序,如果你会这两种方式,代码就简洁了,重复代码也少了...

接着上篇 小程序,wxml页面里如何写JS代码?WXS如何模块化?,这篇我们来说说如何让小程序代码更简洁。

因为我看到有的人写的小程序代码只是建page,page中的.wxml 和 .js 文件有很多是重复代码。

所以这里我们来说下如何剔除.wxml 、.js文件中重复的代码,让代码复用率更高。

一.JS文件。

例如时间格式方法,很多页面可能显示时间,但是小程序中都要格式化,因为new Date()得到的时间是这样的:Thu May 14 2020 20:05:24 GMT+0800。然而我们要的是 2020-05-14 20:07 或者 2020/05/14 20:07。这样我们才是我所能接受的。

c825fa0a3ba1f6cc67bb22898ebd6bfc.png

首先,我们直接用小程序创建时自建的utils文件夹下的 utils.js文件,里面有格式化时间的公用方法。

51c3cf16863621c6710d9f6f63b91c3d.png

其次,在海鲜文件夹下的seaclass.js里通过 require()函数引入 utils.js文件,并且在onload()周期函数里使用utils.formatTime()格式化时间。

onLoad: function (options) {

var dt = new Date();

this.setData({

nowtime:utils.formatTime(dt)

})

},

必须用相对路径。还有就是为什么是三个“..”,因为seaclass.js要网上三层才到根目录下,而utils文件夹是在根 目录下的。

b79765a693639ef550d85ecf012df70f.png

最后,在海鲜页面里显示格式化好的时间:

b9f86311d3de94c7c912608818d279d1.png
0fef8fad7ccdcd68770b6385a0ac8cb9.png

二.wxml页面文件:

例如,项目里很多项目会使用到如下图中的显示,那么我们该如何做呢?有两种方法,

第一种就是wxml文件模块化。

第二种就是组件。组件我们以后再说。这里介绍第一种方式,wxml文件模块化。

a48020d8920b179443c03d4e1958f6cd.png

首先,我们先在根目录下新建文件夹template,并且新建 list-temp.wxml、list-temp.wxss两个文件。

其次,这里分两步:

  1. 把index.wxml里对应页面代码剪切到 list-temp.wxml里,必须用template标签包裹,并且写好name属性,名称为listtemp,后面index.wxml里会用到。
  2. 在index.wxml里使用 import 标签把 list-temp.wxml 引入,并且使用template标签替换刚才剪切的代码,templ 必须使用 "is" 指定是哪个模板页面,否则页面报错,数据通过template的 “data” 属性传递到模板里。
00ec97084a7adf0647dd4f607d14b67f.png

index.wxml页面替换的部分:

0fa9a81aeb9196621cd87d6cd906551a.png

使用模板后的inex.wxml页面

最后,把index.wxss中对应的样式剪切到list-temp.wxss文件中,再使用 @import 引入 list-temp.wxss文件。

@import "../../template/list-temp.wxss"

0929bf5e5f2967f55dba00f4172153a2.png
127b7bf7559735d9fbc9f11b25e2eaec.png

看看效果,效果还是和原来一样的。

e5cef8ac9cf7d31eb075c6b54930cb5b.png

总结:

本文讲解了js、wxml、wxsss三种文件的模板化,这样减少了累赘代码,大大简洁了我们的页面。

记住 require()函数、import标签、@import引入样式。

谢谢大家浏览,喜欢的点个赞或者关注下,写这个文章中不易啊,以前看别人技术博客,觉得几分钟就看完,殊不知别人花了多少时间写。

我是只说代码的大饼,不要只是写代码时想起我,饿了也可以想起我。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值