目次
2.index.js ファイルを定義し、2 つのコンポーネントを導入して、エクスポートします。
1. Main.js ファイルの分析
- src/main.js はエントリ ファイルで、その主な機能は vue インスタンスを初期化し、必要なプラグインを使用することです。
- vue オブジェクトは main.js ファイルで定義され、el はインスタンスのマウント要素を提供します。
//基础配置
import Vue from 'vue'
import App from './App.vue'
//引入已经配置好的路由和vuex
import router from './router'
import store from './store/store'
// 是否启动生产消息
Vue.config.productionTip = false
//第一种写法
new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')
//第二种写法
const myVue=new Vue({
el:'#app',
router,
store,
render: h => h(App)
})
export default myVue
2. Vue.prototypeの機能と使い方
Vue インスタンスのプロトタイプにメソッドまたはプロパティを配置し、グローバルに利用できるようにします。this.property と this.method を使用します。
import Vue from 'vue'
import App from './App.vue'
//路由导入
import router from './router'
//vuex导入
import store from './store'
//npm下载好的三方axios包
import axios from 'axios'
// 是否启动生产消息
Vue.config.productionTip = false
// 设置axios的请求根路径
axios.defaults.baseURL = 'url'
// 把 axios 挂载到 Vue.prototype 上
Vue.prototype.$http = axios
//其实是在Vue原型上增加了一个$http,然后在其余的vue组件的文件中,
//可以通过this.$http直接来使用axios
new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')
3. Vue.use の役割といつ使用するか
簡単に言えば、グローバル コンポーネントを登録するために使用されます。
1. コンポーネント
こんにちはコンポーネント
<template>
<div>
this is Hello...
</div>
</template>
ワールドコンポーネント
<template>
<div>
this is World...
</div>
</template>
2.index.js ファイルを定義し、2 つのコンポーネントを導入して、エクスポートします。
// 引入组件
import Hello from './Hello.vue'
import World from './World.vue'
// 定义 Loading 对象
const installObj = {
// install 是默认的方法。当外界在 use 这个组件的时候,就会调用本身的 install 方法,同时传一个 Vue 这个类的参数。
install: function (Vue) {
Vue.component('sayHello', Hello),
Vue.component('sayWorld', World)
}
}
// 导出
export default installObj
3.index.jsをmain.jsに導入する
import Vue from 'vue'
import App from './App.vue'
// 这里用什么名字,并不重要
import installObj from './/index'
// 只要这里引用对就行
Vue.use(installObj)
new Vue({
el: '#app',
render: h => h(App)
})
4. グローバル利用(インポートせずに直接利用可能)
<template>
<div id="app">
<h1>vue install example</h1>
<sayHello></sayHello>
<sayWorld></sayWorld>
</div>
</template>
<script>
export default {
name: 'app',
data () {
return {}
}
}
</script>
結果:
4. 記事の最後にある要約:
-
sayHello
これら 2 つのコンポーネントへの独立した参照を使用しない場合でもsayWorld
、グローバルに使用できます。Vue.use()
この機能は、登録されたコンポーネントをグローバルに使用できるようにすることです。 -
axios
Vue.use(axios)
なぜ使用せずに直接使用できるのでしょうか?
- Axios は、ユーザーがグローバルに使用できる対応するコンポーネントを提供しておらず、開発者はカプセル化する
axios
ときにコンポーネントをまったく構成しませんinstall
。 - axios が内部でグローバルコンポーネントを提供している場合でも、それらのコンポーネントが使用されない限り、
Vue.use(axios)
登録に使用されなくてもエラーは報告されません。
- インストール メソッドは、Vue がコンポーネントをフレームワークに登録してグローバルに使用できるようにするためだけに提供されています。