【发布时间】:2020-04-01 05:56:27
【问题描述】:
我在将数组从 App.vue 文件导入组件时遇到问题。但首先我应该解释一下这个项目的目的。有一个组件(导航抽屉)和一个 App.vue 文件。 Navigation 抽屉里面有 vue 的 props,你可以在 App.vue 文件中动态改变它。现在,我的问题是组件没有正确导入数组。它只显示大约 70 或 80 个要点,但不显示数组中的实际内容。
App.vue
<template>
<div id="app">
<navigation-drawer links= "[ {title='Google' , link='https://www.google.ch' },{ title='Youtube' ,link='https://www.youtube.com' } ]"
/>
<img alt="Vue logo" src="./assets/logo.png">
<HelloWorld msg="Welcome to Your Vue.js App"/>
</div>
</template>
<script>
import HelloWorld from './components/HelloWorld.vue'
import NavigationDrawer from './components/Navigation-Drawer.vue'
export default {
name: 'App',
components: {
HelloWorld,
NavigationDrawer,
}
}
</script>
Navigation-Drawer.vue
<template>
<div class="navigationdrawer">
<span @click="openNav" style="fontsize:30px;cursor:pointer;display:flex;justify-content:center;">☰</span>
<div id="mySidenav" class="sidenav">
<a href="javascript:void(0)" class="closebtn" @click="closeNav">×</a>
<ul v-for="(link, index) in links" v-bind:key="index">
<li>{{ link.title }}</li>
</ul>
</div>
</div>
</template>
<script>
export default {
name: 'NavigationDrawer',
props: {
links: Array
},
methods: {
openNav() {
document.getElementById('mySidenav').style.width = '15%'
},
closeNav() {
document.getElementById('mySidenav').style.width = '0%'
}
}
}
</script>
【问题讨论】:
-
试试
:links="..."或v-bind:links="..."。见vuejs.org/v2/guide/…。该内联数组也不会对您有任何帮助。我建议将其移至 App.vue 的data函数中。 -
您的数组也无效(这是在另一条评论中,但作者删除了它)。就像我说的,将其移至
data函数,例如data: () => ({ links: [{ title: 'Google', ... }, ... ] })并使用:links="links"
标签: javascript arrays vue.js vuejs2