zoukankan      html  css  js  c++  java
  • 在vue项目中的js文件里使用vue实例

    第一种方法:

    1、首先在http.js中:定义一个变量context用来接收vue,再定一个initVue方法传入的参数是vue,并导出这个方法。

    复制代码
    import axios from 'axios'
    const TIME_OUT_MS = 60 * 1000 // 默认请求超时时间
    let context = null // 定义一个变量,用来代替this(vue)
    function handleResults (response) {
        context.$router.push('/login') 
        return result
    }
    export default {
      // 写一个此文件引入vue的方法,然后export导出去
        initContext (vue) {
            context = vue
        },
        post (url, data, response, exception) {
          
        },
    复制代码

    2、然后在main.js中:执行http.js导出的initContext方法

    复制代码
    var vue = new Vue({
        el: '#app',
        router,
        components: {App},
        template: '<App/>'
    })
    Vue.prototype.http = http
    //挂载http的时候执行引入vue的方法
    Vue.prototype.http.initContext(vue) // 传入vue实例
    复制代码

    第二种方法:

    1、main.js导出vue实例:

    复制代码
    var vue = new Vue({
      el: '#app',
      router,
      components: { App },
      template: '<App/>'
    })
    export default vue
    复制代码

    2、在需要使用的js中引入

    import context from '../main.js'
    context.$router.push('/login')

    我选择了使用第二种方法;

  • 相关阅读:
    新式类、经典类与多继承
    实现抽象类之方式二
    实现抽象类之方式一
    re模块
    28个高频Linux命令
    Git使用教程
    编程语言介绍
    编码
    进制
    操作系统简史
  • 原文地址:https://www.cnblogs.com/qdwz/p/14750415.html
Copyright © 2011-2022 走看看