一、. JS 文件

可以将一些公共的代码抽离成为一个单独的 js 文件,作为一个模块。模块只有通过 module.exports 才能对外暴露接口。

function sayHello(name) {console.log(`Hello ${name} !`)
}
function sayGoodbye(name) {console.log(`Goodbye ${name} !`)
}module.exports.sayHello = sayHello

其他文件调用模块 .js文件(使用 require(path) )

var common = require('common.js')
Page({helloMINA: function() {common.sayHello('MINA')},
})

二、WXS 模块

1、< wxs > 标签

属性:
module —— 当前 < wxs> 标签的模块名。必填字段。
src —— 引用 .wxs 文件的相对路径。

< wxs > 标签模块的定义和使用

<wxs module="foo">
var some_msg = "hello world";
module.exports = {msg : some_msg,
}
</wxs>
<view> {{foo.msg}} </view>

2、. wxs文件

. wxs文件作为一个模块,只有通过 module.exports 才能对外暴露接口。

var foo = "'hello world' from tools.wxs";
var bar = function (d) {return d;
}
module.exports = {FOO: foo,bar: bar,
};
module.exports.msg = "some msg";

其他文件调用模块 .wxs文件(使用 require(path) )

var tools = require("./tools.wxs");console.log(tools.FOO);
console.log(tools.bar("logic.wxs"));
console.log(tools.msg);

< wxs > 标签调用模块 .wxs文件(调用 .js文件和 .wxs文件的不同点)

<wxs src="./../logic.wxs" module="tool" />

三、template

a、WXML提供模板(template),可以在模板中定义代码片段,然后在不同的地方调用。
b、模板拥有自己的作用域,只能使用 data 传入的数据以及模板定义文件中定义的 < wxs /> 模块。

1、定义模板 template

使用 name 属性,作为模板的名字。然后在内定义代码片段,如:

<!-- first.wxml -->
<template name="msgItem"><view><text> {{index}}: {{msg}} </text><text> Time: {{time}} </text></view>
</template>

2、当前文件调用模板 template

使用 is 属性,声明需要的使用的模板,然后将模板所需要的 data 传入,如:

(1)传入单个data

<!-- first.wxml -->
<template is="msgItem" data="{{text: 'forbar'}}"/>

(2)传入多个data

<!-- first.wxml -->
<template is="msgItem" data="{{...item}}"/>
<!-- first.js -->
Page({data: {item: {index: 0,msg: 'this is a template',time: '2016-09-15'}}
})

3、其他文件调用模板 template(使用 import)

传入单个data,若要传入多个data可仿照上一段代码

<!-- second.wxml -->
<import src="first.wxml"/>
<template is="msgItem" data="{{text: 'forbar'}}"/>

4、其他文件将除了 < template/> < wxs/> 外的整个代码引入(使用include)

<!-- second.wxml -->
<include src="header.wxml"/>
<view> body </view>
<include src="footer.wxml"/>
<!-- header.wxml -->
<view> header </view>
<!-- footer.wxml -->
<view> footer </view>

参考链接:

https://mp.weixin.qq.com/debug/wxadoc/dev/

微信小程序 —— 模块化方法的总结相关推荐

  1. 微信小程序登录密码MD5加密

    在小程序中,页面的脚本逻辑是在JsCore中运行,JsCore是一个没有窗口对象的环境,所以不能在脚本中使用window,也无法在脚本中操作组件.zepto/jquery 也无法使用,因为zepto/ ...

  2. 微信小程序学习笔记(二)-- 开发之框架

    一.小程序框架介绍(了解) 小程序框架包含小程序的配置.框架接口.场景值.WXML 和 WXS 等 二.小程序的配置(精通) 小程序的配置分为全局配置.页面配置以及sitemap 配置 1.全局配置 ...

  3. 微信小程序开发--框架

    一.小程序框架介绍 小程序框架包含小程序的配置.框架接口.场景值.WXML 和 WXS等. 二.小程序的配置 小程序的配置分为全局配置.页面配置以及sitemap配置. 1.全局配置 小程序根目录下的 ...

  4. 微信小程序页面之间数据传递

    微信小程序跳转界面传递数据,要传递的数据拼接在url 后面实现 下面看一个简单的demo 传递数据 要传递界面 wxml <!--index.wxml--> <view class= ...

  5. 微信小程序web-view使用

    web-view 可以是微信小程序支持嵌套网页 例如想 嵌套百度可以这样 <view ><web-view src="https://www.baidu.com/s?ie= ...

  6. 微信小程序下拉刷新和上拉加载

    效果图 微信小程序实现下拉刷新和上拉加载有2中方法 1 用系统自带的 个人感觉特别简单 2 使用scroll-view  实现, scroll-view 里面有2个属性是滑动到顶部以及到底部如下 其实 ...

  7. 微信小程序bindtap 与 catchtap 是使用

    如果写小程序对二者不理解的,那看到这边博客,将很快帮助到您, 个人总结的一句话:,bindtap点击事件在同一个view中会向上冒泡,而catchtap 不会向上冒泡 下面会有一个demo给出解释, ...

  8. 微信小程序根据后台返回值设置自己想要的结果

    今天做微信小程序充值列表 其中微信或者支付后台返回的是1和2 , 那么就需要判断返回值是否为1或者是2然后在改变 简单的就是在xml中判断下就行了 <view class='recharge_t ...

  9. 微信小程序import和include

    import 和include 是微信小程序提供的2中引用方式 import 一般结合模板template使用 import import可以在该文件中使用目标文件定义的template,如: 在 i ...

最新文章

  1. 视图、索引、存储过程优缺点
  2. 全球及中国商用壁挂式浴镜行业投资决策与需求前景预测报告2022版
  3. Windows下使用Java API操作HDFS的常用方法
  4. python字符串包含关系_Python实现判断一个字符串是否包含子串的方法总结
  5. 关于微信小程序使用wx.downloadFile和wx.getFileSystemManager().saveFile()保存文件在本机找不到文件的说明
  6. mysql数据库删除列数据_MySQL数据库-数据表、以及列的增删改查
  7. python同时赋值_python同时给多个变量赋值
  8. ffplay播放摄像头
  9. “Flash闪存”基础 及 “SD NAND Flash”产品的测试
  10. 极限中0除以常数_第七讲 极限存在准则和两个重要极限
  11. html如何引入lrc文件,lrc文件怎么打开?lrc是什么文件?
  12. [P1919 【模板】A*B Problem升级版(FFT快速傅里叶)(高精乘板子,FFT板子)
  13. 不要因为不知,所以设计
  14. Ubuntu 20.4 WIFI信号不稳定,ping路由器延迟比较慢解决办法
  15. VS2005中文版下载地址和msdn_vs2005中文版
  16. matlab或_数学建模与MATLAB——MATLAB入门
  17. instagram搜索_如何使用jQuery和PHP构建自己的Instagram搜索引擎
  18. Arndale Octa 5420网络设置
  19. SaaSpace:适合游戏开发者的最佳 3D 建模软件
  20. WRF模式的运行(一)

热门文章

  1. mysql级联删除外键约束_mysql通过外键级联删除
  2. Windows 更新安装错误 - 0x80070643
  3. APIX_身份证图像识别技术(附代码)
  4. 玩客云退出链克计划后还是会下载缓存垃圾,程序员教你如何彻底绝育玩客云老母鸡
  5. 服务注册与发现(上)
  6. 计算机可以不需要显卡吗,显卡有什么用 电脑不装显卡影响大吗
  7. php代码审计文件包含,PHP代码审计之远程文件包含(RFI)
  8. 《论语》原文及其全文翻译 学而篇9
  9. Python求正负交错序列前N项和
  10. uname -a命令