鍍金池/ 問答/C  HTML/ 有沒有一種方法不讓每個(gè)組件都引入一個(gè)文件,但是每個(gè)組件都能使用呢?

有沒有一種方法不讓每個(gè)組件都引入一個(gè)文件,但是每個(gè)組件都能使用呢?

我將API的urls存在一個(gè)文件上面,但是,
每個(gè)組件上面都要引入:

<script>
import Urls from '../../api/backend_urls'
</script>

有沒有一種方法不讓每個(gè)組件都引入,但是每個(gè)組件都能使用呢?

回答
編輯回答
只愛你

index.html引入吧

2017年8月23日 20:08
編輯回答
陌離殤

上面答主說的方法都不錯(cuò),但個(gè)人認(rèn)為下面這個(gè)方法更佳
把庫/模塊等引入Vue原型

比如在main.js里

import Vue from 'vue'
import Urls from '../../api/backend_urls'
Object.defineProperty(Vue.prototype, '$Urls', { value: Urls })

然后就可以在每個(gè)子組件內(nèi)使用 this.$Url...

2017年2月27日 17:55
編輯回答
誮惜顏

在main.js里面引入U(xiǎn)rls,
再加上下面這句就可以,
window.Urls=Urls

2018年6月18日 05:33
編輯回答
單眼皮

考慮使用插件實(shí)現(xiàn):
創(chuàng)建插件

export default {
    install(Vue, options) {
        Vue.Urls = function () {
            // 邏輯...
        }
    }
};

main.js 中使用插件:

import Vue from 'vue'
import MyPluginfrom '@/MyPlugin'

Vue.use(MyPlugin);

然后其他組件就可以使用 this.Urls 調(diào)用。

或者,你單獨(dú)封裝一個(gè)文件,如:util.js,然后基于該文件創(chuàng)建 插件全局混合 來使用復(fù)用。

2018年2月11日 23:59