Ответ 1
Вы можете зарегистрировать компоненты, используя метод Vue.component
:
import Vue from 'vue'
import App from './vue/App.vue'
import Grid from './vue/Grid.vue'
import PatternList from './vue/PatternList.vue'
Vue.component('grid', Grid);
Vue.component('pattern-list', PatternList);
new Vue({
el: '#app',
render: h => h(App)
});
А затем добавьте их в шаблон App
напрямую, используя их имя тега:
<template>
<div id="app">
<grid></grid>
<pattern-list></pattern-list>
</div>
</template>
Это регистрирует компоненты глобально, что означает, что любой экземпляр Vue может добавить эти компоненты в свои шаблоны без какой-либо дополнительной настройки.
Вы также можете зарегистрировать компоненты в экземпляре Vue, например, так:
new Vue({
el: '#app',
render: h => h(App),
components: {
'grid': Grid,
'pattern-list': PatternList
}
});
Или в теге script
однофайлового компонента:
<script>
import Grid from './vue/Grid.vue'
export default {
name: 'app',
components: {
'grid': Grid,
'pattern-list': PatternList
}
});
</script>
Это регистрирует компоненты только для этого экземпляра Vue, что означает, что эти зарегистрированные компоненты будут доступны для использования только в шаблоне для этого экземпляра Vue. Дочерний компонент не будет иметь доступа к этим зарегистрированным компонентам, если эти компоненты также не зарегистрированы в дочернем экземпляре Vue.