参考官方文档:https://developers.weixin.qq.com/miniprogram/dev/reference/wxs/01wxs-module.html
"ModuleTypeEnum": [
{
"value": 2,
"desc": "轮播图片"
},
{
"value": 3,
"desc": "商品卡片"
},
{
"value": 4,
"desc": "导航"
},
{
"value": 5,
"desc": "图片卡片"
},
{
"value": 6,
"desc": "文本标语"
}
]
// 封装过滤器
/* 注: <1> 模块只能在定义模块的 WXML 文件中被访问到
<2> 模块不支持es6语法
*/
var filterData = function(value,array){
for(var i = 0;i
{{filter.filterData(value,array)}}
Page({
data:{
value:1,
array:[
{id:1,item:'第一'},
{id:2,item:'第二'},
{id:3,item:'第三'},
],
}
})
filters: {
//过滤器
filterData(value, sourceData) {
for (let i = 0; i < sourceData.length; i++) {
let item = sourceData[i]
if (value == item.value) {
return item.desc
}
}
},
},
{{value | filterData(sourceData)}}
value:1,
sourceData:[
{
value:1,
desc:'第一',
},
{
value:2,
desc:'第二',
},
{
value:3,
desc:'第三',
},
]
import Vue from 'vue'
// 错误语法
// Vue.filter({
// filters: {
// filterData(value, statesData) {
// for (let i = 0; i < statesData.length; i++) {
// let item = statesData[i]
// console.log('filter', item, value)
// if (value == item.value) {
// return (item.desc)
// }
// }
// }
// }
// })
// 注:filters在new Vue中写 , Vue.filter是全局(也就是说局部写过滤器时需要写filters,全局时不需要)
// 正确语法
Vue.filter('filterData', function(value, statesData) {
for (let i = 0; i < statesData.length; i++) {
let item = statesData[i]
if (value == item.value) {
return (item.desc)
}
}
})
import '@/utils/filter.js'
{{value | filterData(sourceData)}}
value:1,
sourceData:[
{
value:1,
desc:'第一',
},
{
value:2,
desc:'第二',
},
{
value:3,
desc:'第三',
},
]