一、多个 js 方法,不想用 vue.prototype
二、使用Vue.prototype 封装公共 js
三、封装的方法较多,又想通过this.直接调用


一、多个 js 方法,不想用 vue.prototype

封装一个弹框为例:

1. 在 components 文件夹下新增一个 js 文件夹,并在 js 文件夹下新增 index.js 文件。

import { MessageBox } from 'element-ui'
const handleconfirm = (text ='此操作将永久删除该文件, 是否继续?', type='warning') => {// 这里 export后面不加 default,引用时:import {方法名} from js文件地址。因为每个文件常有多个方法,所以常用此方案// export后加 default,引用时:import 方法名 from js文件地址// 通过export方式导出,在导入时要加{ },export default则不需要return MessageBox.confirm(text, '提示',{confirmButtonText: '确定',cancelButtonText: '取消',type: type})
}export { handleconfirm }
  • export {}export default {} 的区别:
    export {}:引用时 import {方法名} from js文件地址
    export default {}:引用时 import 方法名 from js文件地址

2. 全局和局部使用的区别:笼统一点,全局注册在 main.js ,局部注册在需要调用的页面中。

import { handleConfirm } from '@/components/js'

3. 使用:

<el-button type="danger" size="mini" icon="el-icon-delete" @click="deleteData(scope.row.id)" >删除</el-button>//删除
deleteData(id) {handleConfirm().then( ()=> {//调用删除接口}).catch( ()=> {this.$message.info("已取消删除!");})
}

二、使用Vue.prototype 封装公共 js

参考了 weixin_38673922 的博客。

1. 封装表格自定义序号为例:

//在 main.js 中写
Vue.prototype.$setIndex = function(index=0, pageNum=1, pageSize=10) {return (pageNum-1)*pageSize +(index+1) ;
}

2. 使用方法:

<el-table-column type="index" :index="index=>this.$setIndex(index,this.searchForm.pageNum, this.searchForm.pageSize )" width="50" label="序号" align="center"
></el-table-column>
//index是element内部封装好的参数,this.searchForm.pageNum和this.searchForm.pageSize是页码和一页显示的条数
//vue模板中的 this 可以删除

补充表格分页不使用方法的写法:

<el-table :data="tableData.slice((params.pageNum-1)*params.pageSize,params.pageNum*params.pageSize)" border style="width: 100%" :header-cell-style="{background:'#e0e9ff'}"
></el-table>

三、封装的方法较多,又想通过 this. 直接调用

结合一、二

1. 在 components 文件夹下新增一个 js 文件夹,并在 js 文件夹下新增 index.js 文件。

import axios from 'axios';
import ElementUI from 'element-ui';function getProcess(typeCode){console.log(1)axios.get('/api/temp/getParams?typeCode='+typeCode).then(res => {    console.log(res)if( res.status == 200){      }})  .catch(err =>{this.$message.error('服务器响应失败');console.log(err);})
};function alert(){//...
}export default {getProcess, alert
}

2. 在 main.js 中引入,并在原型的身上挂载

import commonJS from '@/components/js'
Vue.prototype.$commonJS = commonJS;

3. 使用:

this.$commonJS.getProcess("0001");

vue+element 封装公共js代码相关推荐

  1. 基于vue element 封装上传组件

    基于vue element封装的上传组件 使用方法: 1.首先引入该组件 2.注册组件 3.页面使用 4.回调函数(如需其他回调自行封装 因为我暂时没用到其他的  哈哈哈) <template& ...

  2. 面向对象封装放大镜js代码

    面向对象封装放大镜js代码 <!DOCTYPE html> <html lang="en"><head><meta charset=&qu ...

  3. 前端Vue使用封装Mock.js和api请求模拟数据案例(带源码)

    目录 一:准备阶段 二:使用阶段 一:准备阶段 1.安装mockjs axios npm install mockjs --save npm install axios --save 2.main.j ...

  4. vue如何写原生js_纯技巧向:React, Vue, Rxjs 和原生 JS 代码大乱斗

    前言 这是一篇纯技巧向的文章,跟一年多之前的<揭秘Vue-3.0最具潜力的API>一样[0],更少的背景铺垫,更多的代码,更多的 demo,更快的节奏. 让我们直接进入主题. 背景 前一阵 ...

  5. vue项目使用公共js方法@令狐张豪

    我们在做项目中会用到很多js方法,然后有些方法是通用的我们需要进行封装使用 在src下创建utils目录并创建utils.js文件 utils.js文件 export default {//判断手机机 ...

  6. Vue + Element UI + Moment.js——el-table-column的时间戳格式转换解决方案

    基本概念 Moment.js:JavaScript 日期处理类库 解决方案 formatter="dateFormat"绑定一个 dateFormat方法 <el-table ...

  7. vue+element封装一个填写和校验ip地址的组件

    输入ip地址,输完自己切换到一下输入框,校验IP的准确性. 组件样式如下图 使用方法 <template><IpAddress v-model="deviceIPAddre ...

  8. 前端学习(2996):vue+element今日头条管理--代码测试规范

  9. 前端学习(2995):vue+element今日头条管理--代码测试规范

最新文章

  1. 「十项全能」图神经网络能干嘛?
  2. wince中的hook(钩子)用法
  3. c语言的多文件组织,c++中多文件的组织
  4. mysql having in_正确理解MySQL中的where和having的区别
  5. IEDA快速书写代码快捷键
  6. 【python 11】super()
  7. python【进阶】5.一等函数(注销)
  8. dotnetcore3.1 WPF 实现多语言
  9. [LeetCode]Find Minimum in Rotated Sorted Array
  10. java请求参数_在Java中发送http的post请求,设置请求参数等等
  11. 内联元素与内联块状元素
  12. SQL将本地图片文件插入到数据库
  13. eclipse 闪退原因
  14. linux操作系统实训心得总结,操作系统实验报告心得体会
  15. W3school离线手册最新版下载
  16. 分析流量对防御DDOS攻击有何价值?
  17. 老师要掌握的计算机方面的知识,21世纪的教师应该掌握哪些基本的电脑知识
  18. table表格表头合并单元格问题
  19. 网易云歌单信息爬取及数据分析(1)爬虫部分
  20. 将vasp结构优化的每一步(XDATCAR文件)转化成POSCAR文件,通过VESTA实现可视化

热门文章

  1. dart和python哪个好_RedMonk 2020 年 Q1 编程语言排行:Python 冲进前二,Dart 值得关注...
  2. 嵌入式基于linux电机控制器,基于嵌入式Linux的移动机器人控制系统
  3. Python语言 目录
  4. php 常用的知识点归集(下)
  5. 数据分析——pyecharts
  6. 【动态规划】数字三角形2
  7. .net:Code First 创建或更新数据库
  8. 内存泄漏 和 内存溢出
  9. Unix环境高级编程学习笔记(七) 多线程
  10. 运行错误5无效的过程调用或参数_FANUC系统常用参数汇总