CLI должен был создать файл с именем main.js
. Там у вас будет что-то вроде этого, создающее новый экземпляр Vue:
new Vue({
render: h => h(App)
}).mount('#app')
Он может использовать свойство el
вместо вызова mount
и может упоминать store
или router
, если вы решили включить их при создании проекта. Это не имеет значения, главное, что именно здесь создается экземпляр root Vue. Если вы не пишете нетипичное приложение, вам не нужно снова использовать new Vue
. Вы, конечно, не должны использовать его внутри .vue
файла.
App
, на который ссылается код, который я написал выше, должен быть компонентом в App.vue
, который должен быть импортирован ранее в main.js
.
Тогда есть ваша App.vue
. Эта строка немного странная:
import App from './components/Navigation-Drawer.vue'
Технически это не так, но это действительно сбивает с толку. Переименуйте App
в более разумное, например NavigationDrawer
. Вам нужно будет обновлять везде, где он используется, включая шаблон.
Далее, Navigation-Drawer.vue
. Здесь есть несколько проблем.
Во-первых, избавьтесь от id="app"
в шаблоне, который просто не должен присутствовать и может вызвать проблемы.
Для реализации onclick="openNav()"
в Vue вместо этого вы должны написать @click="openNav"
, а затем определить openNav
в разделе methods
компонента.
Раздел сценария должен выглядеть примерно так:
<script>
export default {
name: 'NavigationDrawer',
props: {
msg: String
},
// Note that this is a function when used on a component
data () {
return {
name1: 'name 1',
name2: 'name 2',
name3: 'name 3',
name4: 'name 4'
}
},
methods: {
openNav() {
console.log('openNav called')
},
closeNav() {
console.log('closeNav')
}
}
}
</script>
Надеюсь, этого будет достаточно, чтобы все это заработало.
Первоначальные ошибки линтинга были вызваны тем, что:
- Вы создавали переменную с именем
app
, но никогда ее не использовали. - Вы пытались позвонить
new Vue
, но не импортировали Vue
. В общем, вам нужно импортировать вещи, если вы хотите иметь доступ к ним из файла .vue
.
Однако ошибки слипания были лишь побочными эффектами более серьезных проблем, с которыми я столкнулся ». Выше изложено.