果玩软件园:为用户提供海量热门软件、游戏等手机资源下载服务!

装机必备热门标签玩游戏装软件BT游戏H5游戏看教程专题游戏盒子手机版

果玩软件园

所在位置:首页 > 资讯教程 > 软件教程 >  > 详情

如何使用zanui开发微信小程序微商城?

文章来源:网络作者:|唁发布时间:2026-05-28 22:00:54

GM盒子
GM盒子(高返利版)
GM手游福利平台,免费送首充,上线送VIP,免费领元宝和代金券。
Ready

  这篇文章是教大家如何使用zanui开发微信小程序商城?教程简单易学,有需要的小伙伴就赶紧和小编一起来学习一下吧。

  zanui是一套视觉UI包,与weui类似但又不等于weui,约等于weui+weui.js。没有weui成熟、全面。但在微商城这一细分领域,比weui更全面。两者使用了不同的css前缀,可以并用于项目中。

  ZanUI-WeApp是有赞推出的,结合了微信的视觉规范,为用户提供更加统一的使用感受。

  包含 badge、btn、card、cell、color、dialog、form、helper、icon、label、loadmore、panel、quantity、steps、tab、toast、toptip 共计 17 类组件或元素。

  使用

  打开微信web开发者工具,\'本地小程序项目 - 添加项目\',把 zanui-weapp 添加进去就可以预览demo了。

  组件大致的分为4类:

  1. 简单组件

  如按钮组件,只要按照wxml结构写就好了 按钮

  这是最简单的一类,直接使用的是zan-开头的css样式,与weui-样式类似。

  2. 复杂组件

  如加载更多组件,需要先引入定义好的模版,然后给模版传递数据

  

  

  

  

  

  

  

  

  

  这一类组件是次简单,使用了模板。

  

  这一句是使用模板组件的语句,is=""指明模板名称,该名称定义于../loadmore/index.wxml文件中:

  

  

  

  

  

  

  

  

  

  

  {{ nodata_str || \'暂无数据\' }}

  

  

  

  

  

  加载中...

  

  

  

  这是最简单的模板组件,有三个逻辑判断分支,分别是nomore、nodata、loading。每个if分支对应一种UI。

  第二种nodata中,{{ nodata_str || \'暂无数据\' }},这一句用于定义显示的默认文本。

  自定义的情况示例:

  运行效果:

  3. 带事件回调的组件

  如数量选择组件,需要先引入模版,然后给模版传递数据

  

  

  

  然后通过Zan.Quantity把相关回调注入到页面中

  var Zan = require(\'path/to/zanui-weapp/dist/index\');

  Page(Object.assign({}, Zan.Quantity, {

  data: {

  quantity: {

  quantity: 10,

  min: 1,

  max: 20

  },

  },

  handleZanQuantityChange(e) {

  // 如果页面有多个Quantity组件,则通过唯一componentId进行索引

  var compoenntId = e.componentId;

  var quantity = e.quantity;

  this.setData({

  \'quantity.quantity\': quantity

  });

  }

  }));

  上面代码中这个Object.assign语法,是es6的:

  Object.assign方法用来将源对象(source)的所有可枚举属性,复制到目标对象(target)。它至少需要两个对象作为参数,第一个参数是目标对象,后面的参数都是源对象。

  它是将Zan.Quantity这个对象,还有它后面的定义的“Page”对象,拷贝到前面的{}空对象中,从而组成一个新的Page对象。

  这样做的结果是,Zan.Quantity中定义的组件方法,例如_handleZanQuantityBlur、_handleZanQuantityMinus、_handleZanQuantityPlus都跑到了当前页面中,就像在当前页面中定义一样,只是少了编写的麻烦。

  与此同时,在Zan.Quantity中,使用的this对象,当指当前重组后的页面对象。

  在Zan.Quantity有一段这样的代码:

  function callback(componentId, quantity) {

  quantity = +quantity;

  var e = { componentId, quantity };

  console.info(\'[zan:quantity:change]\', e);

  if (this.handleZanQuantityChange) {

  this.handleZanQuantityChange(e);

  } else {

  console.warn(\'页面缺少 handleZanQuantityChange 回调函数\');

  }

  }

  handleZanQuantityChange是客户代码定义的。在示例中是这样的:

  handleZanQuantityChange(e) {

  var componentId = e.componentId;

  var quantity = e.quantity;

  this.setData({

  [`${componentId}.quantity`]: quantity

  });

  }

  关于Object.assign的说明,在小程序API文档、组件文档中都没有,在工具文档页中,描述ES6 API 支持情况时,有列举该es6语法api。

 4. API类组件

  如Toast组件,需要先引入模版,并在页面上使用。

  注意zanToast这个数据也是通过Zan.Toast注入到页面的

  

  

  显示toast

  

  将API注入到页面后,就可以通过this来直接调用相应的API了

  

  var Zan = require(\'path/to/zanui-weapp/dist/index\');

  Page(Object.assign({}, Zan.Toast, {

  showToast() {

  this.showZanToast(\'toast的内容\');

  }

  }));

  toast与quantity组件的实现类似,只是需要显式调用,与程序原生的api 组件类似。

  有赞商城团队的这种定义模板组件的方法,很值得学习推广。每一个模板组件,单独一个目录。在dist/index主js文件中,export各组件。

  在使用时,统一引用/dist/index,并实例化统一的Zan变量,使用Object.assign混合Page页面对象,保持了代码的简洁优雅。

  以上就是如何使用zanui开发微信小程序微商城的全部内容了,大家都学会了吗?

End
复制本文链接资讯文章为果玩软件园所有,未经允许不得转载。
热门游戏MORE+
相关资讯MORE+
最新录入
热门资讯
新游新品榜
手机游戏
休闲益智
赛车竞速
棋牌桌游
角色扮演
动作射击
体育竞技
经营养成
策略塔防
冒险解谜
音乐游戏
手游辅助
H5游戏
BT游戏
手机软件
社交聊天
系统工具
时尚购物
旅游出行
影音播放
生活实用
办公学习
资讯阅读
拍摄美化
游戏辅助
健康医疗
地图导航
小说漫画
安全防护
育儿亲子
手游下载
梦想三国之勇往直前0....
炼仙传说0.1折
不可思议的刀剑与魔法...
逍遥浪人
奇幻梦旅人
玄影0.1折
点击冒险之旅(0.1折特...
天神赵子龙0.1折
九州异兽记0.1折
龙魂魔法0.1折
装机软件
爱奇艺电脑版
Steam下载管家 2026最...
360游戏大厅
GoLink加速器
3DM驱动大师
夸克
豆包电脑版
360C盘扩容大师
360录屏
360极速浏览器
精选专题
手机游戏专题
手机软件专题
电脑软件专题
电脑游戏专题
游戏排行榜
手游排行榜
软件排行榜
BT排行榜
电脑软件排行榜
电脑游戏排行榜