小程序的 wxs 模块的意义是什么?

问题描述

wxs 模块存在的意义是什么?和普通 js 模块有什么区别?在 wxml 中使用 wxs 模块中定义的变量和函数的意义是什么?

问题出现的环境背景及自己尝试过哪些方法

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

你期待的结果是什么?实际看到的错误信息又是什么?

阅读 4k
1 个回答

wxs存在的意义就是充当compute/filter这类功能。
vue中有watch(侦听属性),angular中有filter(过滤器)。其核心作用都是用来避免重复地在模板内写过长的表达式。

我们总是会遇到这样的需求,比如把数字格式化为金额的格式;或者把占位符替换为对应国际化内容;或者从多个值中自动选择最小的值进行输出。如果直接把表达式写在模板中,既不利于后期维护,有无法对表达式进行复用。有了过滤器,我们就可以把这种复杂语句单独抽离,然后再模板中引用即可。

补充一下:
为什么不直接用把结果写入data?
因为过滤器的常用场景是做展示层逻辑。比如上面说的数字转金额格式,你只需要在模板中用到的地方调用过滤器,就能把数据转化为最终需要的格式。
而如果用data,则需要在每个可能修改原始数据的地方对数据进行格式化并写回。具体到金额这个例子,你需要在每个接口返回后,遍历其中需要转化的属性,将其修改为金额格式,然后存入一个新字段。工作量庞大,维护困难,而且极容易遗漏。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题