大家好!我叫戴向天
QQ群:602504799
如若有不理解的,可加QQ群进行咨询了解
Vue.mixin({
methods:{
/**
* $pageParams 使用方发
* 一个不走缓存的存储记录
* Author: 戴向天
*
* (this as any).setPageParams({
* pageSize: 10,
* pageNumber: 2,
* key: '',
* });
*
* (this as any).getPageParams(not Params);
*
* (this as any).deletePageParams(not Params);
*
* $pageParams的来源是在main.js里面
* 也就是在Vue初始化的时候,已经开始进行原型链的创建了。
* 主要是做每个页面的信息存储
* 例如:当前的页面有列表页,而列表页的已经进行了各种参数的切换
* 如果进行进入详情页面,再进行返回的时候,需要还是进入之前的列表参数
* 用该方法就可以进行轻松实现
*/
// 设置页面信息
setPageParams(params: any, name?: string) {
(this as any).$pageParams[name || (this as any).$options.name] = params;
},
/**
* 获取页面信息
* */
getPageParams(name?: string) {
return (
((this as any).$pageParams || {})[
name || (this as any).$options.name
] || null
);
},
// 删除页面信息
deletePageParams(name?: string) {
delete (this as any).$pageParams[name || (this as any).$options.name];
},
}
})
使用方法:
// file name: list.vue
private beforeDestroy() {
(this as any).setPageParams({
...,
});
}
private async created() {
const params = (this as any).getPageParams();
if (params) {
this.params = params;
}
}