【发布时间】:2019-03-30 21:25:05
【问题描述】:
我有以下代码:
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="x-ua-compatible" content="ie=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Ionic 4 - Menu</title>
<link rel="stylesheet" href="https://unpkg.com/@ionic/core@4.0.0-beta.13/css/ionic.bundle.css" />
<script src="https://unpkg.com/@ionic/core@4.0.0-beta.13/dist/ionic.js"></script>
<script>
window.addEventListener('load', event => {
document.querySelector('.button_details').addEventListener('click', (event) => {
document.querySelector('.menu_main').toggle();
});
});
</script>
</head>
<body>
<ion-menu class="menu_main" side="start">
<ion-header>
<ion-toolbar color="secondary">
<ion-title>Left Menu</ion-title>
</ion-toolbar>
</ion-header>
<ion-content padding>
Hello World!
</ion-content>
</ion-menu>
<ion-menu-controller></ion-menu-controller>
<ion-card style="display:inline-block;width:300px">
<ion-card-header>
<ion-card-title>Hello World</ion-card-title>
</ion-card-header>
<div style="padding:10px 10px;text-align:right;">
<ion-button color="primary" class="button_details">Details</ion-button>
</div>
</ion-card>
</body>
</html>
它工作正常,但有一个例外:页面加载时,控制台出现以下错误:
Error: "Menu: must have a 'content' element to listen for drag events on."
这里有CodePen.io:
https://codepen.io/anon/pen/qJgEzZ/?editors=1011
您可以在下面StackOverflow 上尝试代码:
window.addEventListener('load', event => {
document.querySelector('.button_details').addEventListener('click', (event) => {
document.querySelector('.menu_main').toggle();
});
});
<script src="https://unpkg.com/@ionic/core@4.0.0-beta.13/dist/ionic.js"></script>
<link href="https://unpkg.com/@ionic/core@4.0.0-beta.13/css/ionic.bundle.css" rel="stylesheet"/>
<ion-menu class="menu_main" side="start">
<ion-header>
<ion-toolbar color="secondary">
<ion-title>Left Menu</ion-title>
</ion-toolbar>
</ion-header>
<ion-content padding>
Hello World!
</ion-content>
</ion-menu>
<ion-menu-controller></ion-menu-controller>
<ion-card style="display:inline-block;width:300px">
<ion-card-header>
<ion-card-title>Hello World</ion-card-title>
</ion-card-header>
<div style="padding:10px 10px;text-align:right;">
<ion-button color="primary" class="button_details">Details</ion-button>
</div>
</ion-card>
关于如何解决这个问题的任何想法?这里缺少什么?
能否请您使用正确的代码 fork 我的CodePen.io?
谢谢!
【问题讨论】:
-
错误来自 ion-menu-controller 标签。如果您不想使用它,只需删除此标签即可。
-
即使您删除该标签,错误仍然存在。你可以自己试试。
-
ok 替换 ion-menu-controller 并添加
并再次测试。 -
你能把
codepen.io贴在这里吗?谢谢! -
ion-menu 有 contentId 属性,尝试切换到
<ion-router-outlet id="content1" ..和<ion-menu contentId="content1"..
标签: javascript typescript ionic-framework ionic4 stenciljs