Не удается добавить компонент в шаблон vue apps - правильно ли вы зарегистрировали компонент? - PullRequest
0 голосов
/ 08 февраля 2019

Я добавил главное приложение vue в свое приложение.И я хочу добавить компонент в приложение.

Попытка добавить TopMenu.vue в App.vue:

<top-menu></top-menu> в App.vue.

Зарегистрированов main.js для приложения.Я правильно использую отдельные компоненты файла?

main.js

import Vue from 'vue'
import App from './components/App'
import TopMenu from './components/TopMenu'

Vue({
  el: '#app',
  render: h => h(App),
  components: {
    'top-menu': TopMenu
  }
})

App.vue:

<template>
  <div class="wrapper">
    <top-menu></top-menu>
    <div class="container drop-shadow">
      <h1>{{ message }}</h1>
      <p1>{{ about }}</p1>
    </div>
  </div>
</template>

<script>
export default {
  name: "App",
  data() {
    return {
      message: "Hello kosken!",
      about: "Using Parcel In A Vue.js App"
    };
  }
};
</script>

TopMenu.vue:

<template>
    <div class="user-menu drop-shadow"></div>
</template> 

<script>
    export default {
        name: 'top-menu',
        data: function () {
            return "somedata";
        }
    }
</script>

Ответы [ 2 ]

0 голосов
/ 08 февраля 2019
import Vue from 'vue'
import App from './components/App'
import TopMenu from './components/TopMenu'

Vue.component('top-menu', TopMenu)

Это то, как вы должны зарегистрировать компонент глобально, и вы можете использовать его где угодно.

0 голосов
/ 08 февраля 2019

Вы должны импортировать его и использовать внутри вашего App.vue:

<template>
  <div class="wrapper">
    <top-menu></top-menu>
    <div class="container drop-shadow">
      <h1>{{ message }}</h1>
      <p1>{{ about }}</p1>
    </div>
  </div>
</template>

<script>
import TopMenu from './TopMenu'
export default {
  name: "App",
  data() {
    return {
      message: "Hello kosken!",
      about: "Using Parcel In A Vue.js App"
    };
  },  
  components: {
    'top-menu': TopMenu
  }
};
</script>
...