zoukankan      html  css  js  c++  java
  • 如何在Vuejs中优雅使用Javascript各种插件

    在日常开发中,为了敏捷开发或者更快满足业务需求,不得不使使用js第三方库或者插件。

    如何在Vue项目中引入javascript第三方库


    全局变量

    将 JavaScript 第三方库 添加到项目中,最简单的办法是通过将其附加到 window 对象上,以使其成为全局变量。

    如何引入:

    window._ = require('lodash'); 

    如何使用:

    export default {
      created() {
        console.log(_.isEmpty() ? 'Lodash everywhere!' : 'Uh oh..');
      }
    }

    这种情况会使 window 变量不断增长,但是最关键的是,他们不能使用服务器渲染。当应用程序在服务端运行时,window 对象是 undefined 的,因此尝试访问 window 下的属性将会抛出一个错误。

    使用ES6在每个文件中导入

    二流的方法是将库导入到每个文件中:

    // MyComponent.vue 文件
    import _ from 'lodash';
    export default {
      created() {
        console.log(_.isEmpty() ? 'Lodash is available here!' : 'Uh oh..');
      }
    }

    这是有效的,但是你需要重复手动导入和移除,这是一个痛点:你必须记住将这个库导入到每个文件中,然后当你的某个文件不用这个库的时候, 记得要将它从这个文件中移除。如果你没有正确地设置你的构建工具,则可能会最终导致在构建包中存在同一个库的多个副本。

    更好的方式

    在Vue项目中使用Javascript库的最干净,最健壮的方法是将其代理为 Vue 原型对象的属性。我们用这种方式,将 Moment日期和时间库添加到我们的项目中:

    import moment from 'moment';
    Object.definePrototype(Vue.prototype, '$moment', { value: moment });

    由于所有组件都会继承 Vue 原型对象上方法,这将使 Moment 自动可用于任何组件,没有全局变量或任何需要手动导入的组件。它可以在任何 实例/组件 中简单地通过 this.$moment 访问被访问:

    export default {
      created() {
        console.log('The time is ' . this.$moment().format("HH:mm"));
      }
    }

    大功告成!

  • 相关阅读:
    Devexpress之LayoutControl的使用及其控件布局设计
    C#入门笔记3 表达式及运算符2
    C#入门笔记3 表达式及运算符
    C#入门笔记2 变量
    C#入门笔记1
    Devexpress之GridControl显示序列号
    C++学习之重载运算符1
    解决"找不到该项目”无法删除该文件
    删除鼠标右键时“保存至360云盘”
    CSS基础知识——选择器
  • 原文地址:https://www.cnblogs.com/Abner5/p/7894926.html
Copyright © 2011-2022 走看看