uniapp中怎么使用全局filters全局过滤器!

1、先建立个文件夹filters>filters.js ,或者你自己随便定义就行! 到时候引入! 


filters.js 随便放入一个函数

export function bartimeStamp(value,type) {
	if(value)
	var dd = new Date(value*1000);
		var y = dd.getFullYear();
		var m = dd.getMonth() + 1;
		var d = dd.getDate();
		var h = dd.getHours();
		var i = dd.getMinutes();
		var s = dd.getSeconds();
		m = m < 10 ? '0' + m : m;
		d = d < 10 ? '0' + d : d;
		h = h < 10 ? '0' + h : h;
		i = i < 10 ? '0' + i : i;
		s = s < 10 ? '0' + s : s;
		if(type) {
			return y + '-' + m + '-' + d + ' ' + h + ':' + i + ':' + s
		} else {
			return y + '-' + m + '-' + d
		}
}

然后再main.js中引入

import * as filters from './filters/filters.js'// * as必须携带
Object.keys(filters).forEach(key => {
  Vue.filter(key, filters[key])
})
// 主要要在创建 Vue 实例之前全局定义过滤器
const app = new Vue({
    ...App
})

注:过滤器只可以定义方法!

页面中使用,上面定义的是时间戳处理,所以我们随便测试下,时间戳的返回!

{{1569231007 | bartimeStamp}}

他还可以连续执行!

意思是把第一个formatDate的执行结果,再传入第二个 ....第三个....

{{1227772717 | formatDate | formatDate }}


同理,我们还可以根据这个制作全局方法!

随便新建一个js文件

suibian.js

export function GoTab(e) {
	let {
		url
	} = e.currentTarget.dataset
	uni.switchTab({
		url: url
	})
}

export function GoNav(e) {
	let {
		typeid,
		channelid,
		typename,
		url
	} = e.currentTarget.dataset
	uni.navigateTo({
		url: url+'?typeid=' + typeid + '&channlid=' + channelid + '&typename=' + typename
	});
}

然后main.js引入

import * as suibian from './utils/suibian.js'
Object.keys(suibian).forEach(key => {
  Vue.prototype.key=key
})
// 或者可以直接下面这样
// Vue.prototype.suibian =suibian // 但是这样的话如果需要引入,则需要suibian.GoTab 来使用了!

这样我们就把suibian.js内的方法都挂载到全局了!

相关内容

发表评论

验证码:
点击我更换图片

最新评论