收藏
回答

wxs 被重复使用是什么问题?

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







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

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



最后一次编辑于  星期一 14:50
回答关注问题邀请回答
收藏

2 个回答

  • 菜汤不甜
    菜汤不甜
    星期一 16:23

    文档,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,
    };



    星期一 16:23
    赞同
    回复
  • 小程序技术专员-LastLeaf
    小程序技术专员-LastLeaf
    星期一 15:39

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

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

    星期一 15:39
    赞同
    回复 2
    • 菜汤不甜
      菜汤不甜
      星期一 16:17
      感谢回答,但是…有点没理解……[尴尬]

      我刚才去看了文档,https://developers.weixin.qq.com/miniprogram/dev/reference/wxs/01wxs-module.html

      使用了章节 require函数 的示例代码,“在开发者工具中预览效果”。

      将示例代码中的 index.wxml,logic.wxs,tools.wxs,改为和我自己写的一样的内容,

      发现示例代码 仅仅只console.log了一次,就很疑惑,示例代码是怎么做到的呢。
      星期一 16:17
      回复
    • 小程序技术专员-LastLeaf
      小程序技术专员-LastLeaf
      星期一 19:04回复菜汤不甜
      其实这里取决于你用到了什么样的框架特性的,和 WXML 结构也有关系,所以很难说。
      星期一 19:04
      回复
问题标签