zoukankan      html  css  js  c++  java
  • 在普通js文件里引入vue实例的方法

    首先是我是写了一个 Loading 插件然后 是挂在打vue.prototype 原型上的。

    在main.js中use使用了这个插件。

     

    至此vue原型是就被我挂上 $loadding方法了。

    然后我想在封装的axios的http.js文件里使用这个插件。所以我得想办法把vue实例引进来。

    经过测试可以如下这样。(好吧上面,都是废话)

    图中代码:

    import Vue from 'vue'; //引入vue
    //必须实例化 Vue
    let vm = new Vue();
    /*这里有个点需要注意,直接在这个js文件里,直接使用 console.log(vm),可以看到我在挂到Vue.prototype上的$loading自定义方法,
    * 但是在console.log(vm.$loading); 时会显示 undefined , 输出vue上的自身方法时,不会显示undefined。
    * 我在网上找到的解释如下:
    * 注意不要在普通js中导入后,直接console.log(),这个时候组件还没创建肯定是undefined。 (应该是这个http.js在main.js之前加载了)
    * 不过我经过经过测试,通过setTimeout()延时输出时,就不会有 就不会是undefined了。
    * 这所说明这个方法不是这个js文件一加载就执行的话,这个这样通过 import 和 new的方式还是可以用的。
    * 正好也可以满足了我的需求。嘻嘻!!
    * */
    setTimeout(()=>{
        console.log(vm.$loading); //不是undefined了
    },4000);

    如果不是属性或方法不是挂到  vue.prototype 原型上时,如上获取,就会出现文件。解决方法可参考:https://www.cnblogs.com/taohuaya/p/10765731.html

     参考文章:

      1.  https://segmentfault.com/q/1010000010269801

      2.  https://segmentfault.com/q/1010000012327314

      3.  https://segmentfault.com/q/1010000011312340

  • 相关阅读:
    回文链表
    istringstream
    编写函数,以读模式打开一个文件,将其内容读入到一个string的vector中,将每一行作为一个对立的元素存于vector中
    c++ primer,友元函数上的一个例子(By Sybase)
    类的静态成员
    聚合类和字面值常量类
    隐式的类类型转换
    构造函数
    类的作用域
    类的其他特性
  • 原文地址:https://www.cnblogs.com/taohuaya/p/10296420.html
Copyright © 2011-2022 走看看