微信小程序中wxs问题集锦

wxs是小程序的一套脚本语言 , 作为过滤器等使用是很方便的 . 但是wxs是小程序的脚本语言 , 和js语法不太一样 , 所以会经常遇到一些坑 , 这里总结一下 .

  1. wxs 不依赖于运行时的基础库版本,可以在所有版本的小程序中运行。
  2. wxs 与 javascript 是不同的语言,有自己的语法,并不和 javascript 一致。
  3. wxs 的运行环境和其他 javascript 代码是隔离的,wxs 中不能调用其他 javascript 文件中定义的函数,也不能调用小程序提供的API。
  4. wxs 函数不能作为组件的事件回调。由于运行环境的差异,在 iOS 设备上小程序内的 wxs 会比 javascript 代码快 2 ~ 20 倍。在 android 设备上二者运行效率无差异。
  5. WXS中可以调用其它WXS文件,并且只能调用WXS文件,采用 require 函数,引入的文件必须使用相对路径
  6. < wxs> 模块只能在定义模块的 WXML 文件中被访问到。使用 < include> 或 < import> 时,< wxs> 模块不会被引入到对应的 WXML 文件中。
  7. < template> 标签中,只能使用定义该 < template> 的 WXML 文件中定义的 < wxs> 模块。
  8. wxs不能使用const ! const是JaveScript中的语法 , 并不能在wxs使用 . let也不能使用 , 只能用var .
    微信小程序中wxs问题集锦_第1张图片
//错误代码
const format = function(text) {
  if (!text) return;
  var reg = getRegExp('\\\\n', 'g');
  return text.replace(reg, '\n  ');
}
module.exports = {
  format: format
}

//正确代码
var format = function(text) {
  if (!text) return;
  var reg = getRegExp('\\\\n', 'g');
  return text.replace(reg, '\n  ');
}
module.exports = {
  format: format
}

你可能感兴趣的:(微信小程序)