如何全局封装并使用方法(Vue)

简介: vue

序:

项目中一般必不可少会遇到,同一个方法多个页面或者组件都需要用到,这个时候我们可以封装一个全局方法,方便使用。本文章以limit-input.js为例(使用功能实现不做使用参考)。

文件存放位置:

一般位于src/utils
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FC1RBp3g-1653319596061)(C:\Users\huawei\AppData\Roaming\Typora\typora-user-images\image-20220519151605223.png)]

limit-input.js内容

export default {
  /**
    * 只能输入大于0的正整数(不能以0开头)
    * @param {string} value
    * @returns {string | number} 返回空字符或数字
    */
   integerFn(value) {
       let reg = /[1-9]{1}[0-9]*$/;
       let strArray = value.split("");
       let newStrs = "";
       for (let i = 0; i < strArray.length; i++) {
           if (reg.test(strArray[i])) {
               newStrs += strArray[i];
           } else if (i > 0 && strArray[i] === "0") {
               newStrs += strArray[i];
           }
       }
       if (newStrs - 0 > 0) {
           return newStrs - 0;
       } else {
           return "";
       }
   }
};

main.js文件

// 将限制函数文件绑定到vue原型上,供全局使用
import limit from "./utils/limit-fuction";
Vue.prototype.$limit = limit;

vue组件中使用:

 <el-input v-model="signValue" @input="(e) => (signValue = $limit.integerFn(e))"></el-input>
目录
相关文章
|
10天前
|
资源调度 JavaScript API
vue3封装城市联动组件
vue3封装城市联动组件
|
7天前
|
JavaScript
vue中使用@scroll不生效的问题
vue中使用@scroll不生效的问题
|
2天前
|
JavaScript 算法 前端开发
vue学习(1)
vue学习(1)
189 62
|
2天前
|
JavaScript
vue学习(3)模板语法
vue学习(3)模板语法
25 10
|
2天前
|
存储 JavaScript 前端开发
vue学习(2)
vue学习(2)
186 65
|
2天前
|
JavaScript
vue键盘事件
vue学习(11)键盘事件
|
6天前
|
数据采集 JavaScript 搜索推荐
我们一起聊聊如何对Vue项目进行搜索引擎优化
【9月更文挑战第4天】Vue 项目的搜索引擎优化(SEO)较为复杂,因其内容默认由 JavaScript 渲染,部分搜索引擎难以索引。为提升 SEO 效果,可采用服务器端渲染(SSR)或预渲染,使用 Nuxt.js 或 Vue Server Renderer 实现 SSR,或利用 Prerender SPA Plugin 预渲染静态 HTML。此外,动态管理 Meta 标签、优化静态内容与 Sitemap、懒加载、图片优化、提升页面速度、设置正确的路由模式、使用结构化数据及构建良好外链均有益于 SEO。
40 11
|
1天前
|
JavaScript
vue学习(4)数据绑定
vue学习(4)数据绑定
13 10
|
1天前
|
JavaScript 前端开发
vue学习(6)
vue学习(6)
15 9
|
10天前
|
存储 JavaScript
vue组件的五种传值方法(父子\兄弟\跨组件)
vue组件的五种传值方法(父子\兄弟\跨组件)