Mpvue不支持在template内使用methods中函数的HACK方案

Mpvue到目前”^2.0.0”为止,还没有支持在template内使用methods和filters的计划。

Wepy下可以用wxs来解决,但Mpvue直接使用wxs会报错。

我找到一个HACK的方案,实现也很简单。

  1. 按wxs的方式在template中添加代码;
  2. 在methods下,添加一个与wxs模块同名的空function ;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<template>
<div class="container">
<wxs module="foo">
module.exports = function (a) {
return a + a
}
</wxs>
{{foo(1)}}
</div>
</template>
<script>
export default {
methods: {
foo () {}
}
}
</script>

即可成功运行。

这个方法能应急解决部分场景。但毕竟是HACK,而且实现非常不优雅。要完全解决,还是要等Mpvue官方更新。

事实上Megalo等后发的小程序前端框架早就支持filters和methods了,证明这并非一个不可解决的问题。github上也有人提PR,Mpvue官方团队依然八风不动。是不是已经被放弃了。