问题:如何为ionic v4 vuejs应用程序创建可滑动的侧边菜单?
因此,我是ionic的新手,并一直在尝试将现有的Web应用程序迁移到ionic。按照有关vue的ionic4的有限文章上的步骤进行操作。在安装Vue之前,我安装了@ ionic / core,将CDN添加到了索引文件,并为[/ ion /] Web compoenets添加了忽略标志。
我当前收到此错误:Menu: must have a "content" element to listen for drag events on.
我不太确定应该遵循什么,因为有关ion v2和v3的文章很多,我知道对ui组件的方式以及基于ionic4 beta docs的内容进行了一些更改似乎是正确的:'
<script lang="ts" src="./Layout.ts"></script>
<template>
<div class="layoutComponent">
<ion-page>
<ion-menu>
<ion-header>
<ion-toolbar color="primary">
<ion-title>Menu</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<ion-list>
<ion-list-header>
Navigate
</ion-list-header>
<ion-item>
<router-link :to="{name: 'link 1'}">
<ion-label full>
<eg-localizer token="1"></localizer>
</ion-label>
</router-link>
</ion-item>
<ion-item>
<router-link :to="{ name: 'link2'}">
<ion-label full>
<localizer token="2"></localizer>
</ion-label>
</router-link>
</ion-item>
<ion-item>
<a target="_blank" href="https://foo.com">
<ion-label full>
<localizer token="external link 3"></localizer>
</ion-label>
</a>
</ion-item>
</ion-list>
</ion-content>
</ion-menu>
<!-- main point of entry for app content -->
<slot></slot>
</ion-page>
</div>
</template>
答案 0 :(得分:0)
有关离子框架的文档尚不清楚或不完整,但是我能够使菜单正常工作
<template>
<ion-menu side="start" content-id="menu-content">
<ion-header>
<ion-toolbar color="primary">
<ion-title>Start Menu</ion-title>
</ion-toolbar>
</ion-header>
<ion-content id="menu-content">
<ion-list lines="full">
<ion-item v-for="item in items" :key="item.name">
<ion-icon :name="item.icon" slot="start"></ion-icon>
<ion-label>{{ item.name }}</ion-label>
</ion-item>
</ion-list>
</ion-content>
</ion-menu>
</template>
<script>
export default {
data () {
return {
items: [
{ name: 'Home', icon: 'home', href: 'home' },
{ name: 'About', icon: 'information-circle', href: 'about' },
{ name: 'Articles', icon: 'list-box', href: 'articles' },
{ name: 'Log out', icon: 'logout', href: 'logout' }
]
}
}
}
</script>
关键在这里:
<ion-menu side="start" content-id="menu-content">
在这里
<ion-content id="menu-content">
希望这对任何人都有帮助。
答案 1 :(得分:0)
对于Ionic 6 + Vue js 3.0,请确保将组件<ion-router-outlet />
放在<ion-content>
中,并且ion-content应该具有您在菜单的content-id参数中指定的id。
<ion-content id="main">
<ion-router-outlet />
</ion-content>