鱼C论坛

 找回密码
 立即注册
查看: 2074|回复: 1

[庖丁解牛] 026 ∞ WXS 模块

[复制链接]
发表于 2018-6-1 11:43:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 不二如是 于 2018-6-1 11:43 编辑


                               
登录/注册后可看大图


上一讲我们简单介绍了WXS,本次来看WXS模块

WXS 代码可以编写在 wxml 文件中的 <wxs> 标签内,或以 .wxs 为后缀名的文件内。

每一个 .wxs 文件和 <wxs> 标签都是一个单独的模块

每个模块都有自己独立的作用域。

即在一个模块里面定义的变量与函数,默认为私有的,对其他模块不可见。

一个模块要想对外暴露其内部的私有变量与函数,只能通过 module.exports 实现。

在微信开发者工具里面,右键可以直接创建 .wxs 文件,在其中直接编写 WXS 代码。
Snip20180601_28.png


示例:
// /pages/comm.wxs

var foo = "'Hi' from comm.wxs";
var bar = function(d) {
  return d;
}
module.exports = {
  foo: foo,
  bar: bar
};

上述例子在 /pages/comm.wxs 的文件里面编写了 WXS 代码。

该 .wxs 文件可以被其他的 .wxs 文件 或 WXML 中的 <wxs> 标签引用。

每个 wxs 模块均有一个内置module 对象。

module对象有一个exports属性。

通过该属性,可以对外共享本模块的私有变量与函数。




实操

按照下面的图示,创建文件:
Snip20180601_32.png


示例:
// /pages/tools.wxs

var foo = "'hello FishC' from tools.wxs";
var bar = function (d) {
  return d;
}
module.exports = {
  FOO: foo,
  bar: bar,
};
module.exports.msg = "some msg";
<wxs src="../pages/tools.wxs" module="tools" />
<view> {{tools.msg}} </view>
<view> {{tools.bar(tools.FOO)}} </view>
Snip20180601_30.png





require函数

在.wxs模块中引用其他 wxs 文件模块,可以使用 require 函数。

引用的时候,要注意如下几点:
1、只能引用 .wxs 文件模块,且必须使用相对路径。

2、wxs 模块均为单例,wxs 模块在第一次被引用时,会自动初始化为单例对象。多个页面,多个地方,多次引用,使用的都是同一个 wxs 模块对象。

3、如果一个 wxs 模块在定义之后,一直没有被引用,则该模块不会被解析与运行。


修改上面tools.wxs中的代码:
var foo = "'hello FishC-鱼C' from tools.wxs";
var bar = function (d) {
  return d;
}
module.exports = {
  FOO: foo,
  bar: bar,
};
module.exports.msg = "some msg";

Snip20180601_33.png

在pages中创建logic.wxs:
var tools = require("./tools.wxs");
Snip20180601_34.png







课后作业


1、填写代码,实现引入wxs文件:
<wxs  ?="./../tools.wxs" ?="tools" />



答案:
游客,如果您要查看本帖隐藏内容请回复





如果有收获,别忘了评分


                               
登录/注册后可看大图


这位鱼油,如果喜欢小程序,请订阅 专辑&#9758;传送门)(不喜欢更要订阅



                               
登录/注册后可看大图

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-6-2 14:10:12 | 显示全部楼层
src
module
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 23:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表