wxs 被重复使用是什么问题?
发布于 7 年前 作者 flu 9605 次浏览 来自 问答

问题描述:使用在index.wxml中,使用wxsB调用wxsA,然后在wxsB输出wxsA对外暴露的值;





可以看到,控制台输出了好多次,想问下这是怎么回事??

index.wxml中就一句话,没有循环啥的。


2 回复

文档,https://developers.weixin.qq.com/miniprogram/dev/reference/wxs/01wxs-module.html   require函数 的示例代码,“在开发者工具中预览效果”。进行修改,修改成于问题代码一致。发现并不会有重复使用的情况,没理解自己是哪里错了。

修改如下:

index.wxml

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

logic.wxs

var tools = require("tools.wxs");
console.log(tools.wxstext);

tools.wxs

var foo = "'hello world' from tools.wxs";
 
module.exports = {
  wxstext: foo,
};

这个是正常现象。目前 WXS 可能在“框架认为需要被触发”的时候触发,不太好描述它会被触发的时机。

因而, WXS 函数应当是一个“无状态函数”,即,无论在什么时机被触发,只要输入的参数相同,输出也要相同。

回到顶部