vue 项目优化方案
发布时间: 2022-03-16 10:24:12
作者: 王乐园 浏览次数:
417
1. Api地址 接口化
//
export const getAreaListReq = (data) => post('/backendapi/v1/common/area/area-tree', data)
//
export const saveSubmitReq = (data, type) => post(
type == 0 ?
'/backendapi/v1/selection/goods/sample-update'
: '/backendapi/v1/selection/goods/sample-reset',
data
)
2.相关操作 指令化
1.如 自定义指令防止重复
//一:注册全局指令
//在main.ts中加入如下配置:
// =======================================================
// 注册一个全局自定义指令 `v-focus`
app.directive('console', {
// 当被绑定的元素插入到 DOM 中时……
mounted(el) {
// Focus the element
// el.focus()
console.log('自定义全局指令v-console 注册成功');
}
})
//在某个页面的js中:
name: "index",
components: {},
/**
* @name: 自定义指令(局部注册)
* @author: camellia
* @email: guanchao_gc@qq.com
* @date: 2021-02-25
*/
directives: {
// v-part
part: {
// 指令的定义
mounted(el: any) {
// el.focus()
console.log(el);
console.log('自定义局部指令注册成功!');
}
}
},
//v-preventReClick,防止多次点击,重复请求
name: "index",
components: { },
/**
* @name: 自定义指令(局部注册)
* @author: camellia
* @email: guanchao_gc@qq.com
* @date: 2021-02-25
*/
directives: {
// v-part
preventReClick: {
// 指令的定义
mounted(el: any, binding:any) {
// el.focus()
console.log(el);
console.log(binding);
// console.log('自定义局部指令注册成功!');
el.addEventListener('click', () => {
if (!el.disabled) {
console.log(123);
el.style.pointerEvents = 'none';
el.disabled = true;
setTimeout(() => {
el.disabled = false;
el.style.pointerEvents = 'auto';
}, binding.value || 300);
}
});
}
}
},
//使用方式
<button @click="btnUp" v-preventReClick>确定</button>
上一篇:(转载)追忆过往青春
下一篇:(转载)时光悠悠 岁月无言