在js文件中调用vue3.2组件显示dialog框,并且将MyDialog写出
时间: 2023-08-16 13:05:21 浏览: 232
要在 JavaScript 文件中调用 Vue 3.2 的组件并显示对话框,一种方式是使用 Vue 3.2 提供的 `createApp` 函数来创建一个 Vue 应用实例,并将该实例挂载到页面上。下面是一个简单的例子:
1. 首先,确保已经安装了 Vue 3.2 及其相关的依赖项。
2. 在 HTML 文件中引入 Vue 3.2 的 CDN 或者本地安装的 Vue 包:
```html
<!-- index.html -->
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>My App</title>
</head>
<body>
<div id="app"></div>
<script src="https://unpkg.com/vue@3.2.0/dist/vue.global.js"></script>
<script src="main.js"></script>
</body>
</html>
```
3. 在 JavaScript 文件中定义一个 MyDialog 组件:
```javascript
// MyDialog.vue
const MyDialog = {
template: `
<div class="dialog">
<h2>{{ title }}</h2>
<p>{{ message }}</p>
<button @click="close">OK</button>
</div>
`,
props: {
title: String,
message: String,
},
methods: {
close() {
this.$emit('close');
},
},
};
```
4. 在 JavaScript 文件中使用 `createApp` 函数创建一个 Vue 应用实例,并将 MyDialog 组件注册为全局组件:
```javascript
// main.js
import { createApp } from 'vue';
import MyDialog from './MyDialog.vue';
const app = createApp({
components: { MyDialog },
data() {
return {
showDialog: false,
dialogTitle: 'Dialog Title',
dialogMessage: 'Dialog message.',
};
},
methods: {
openDialog() {
this.showDialog = true;
},
closeDialog() {
this.showDialog = false;
},
},
}).mount('#app');
```
5. 在 HTML 文件中添加一个按钮,点击该按钮可以触发 `openDialog` 方法来显示对话框:
```html
<!-- index.html -->
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>My App</title>
</head>
<body>
<div id="app">
<button @click="openDialog">Open Dialog</button>
<my-dialog v-if="showDialog"
:title="dialogTitle"
:message="dialogMessage"
@close="closeDialog" />
</div>
<script src="https://unpkg.com/vue@3.2.0/dist/vue.global.js"></script>
<script src="main.js"></script>
</body>
</html>
```
这样,点击按钮后就可以显示一个包含 MyDialog 组件的对话框,可以通过修改 `dialogTitle` 和 `dialogMessage` 来动态更新对话框的标题和内容。
阅读全文