本文主要介绍Vue.js中如何进行组件的动态切换。
核心:通过is绑定需要展示的组件名,component为占位符。
下面实例定义了child1和child2两个组件,点击按钮可实现两者的动态切换。
- html>
- <html lang="en">
-
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Documenttitle>
- head>
-
- <body>
- <div id="app">
- <component :is="type">component>
- <div>
- <button @click="change">点击button>
- div>
- div>
- <script src="./vue.min.js">script>
- <script>
- const child1 = {
- template: `
-
- 子
-
- 组
-
- 间
-
- 1
- `,
- methods: {},
- data() {
- return {
-
- }
- }
- };
- const child2 = {
- template: `子组件2`,
- methods: {
-
- },
- data() {
- return {
-
- }
- }
- };
- const vm = new Vue({
- el: "#app",
- data() {
- return {
- type: 'child1'
- }
- },
- methods: {
- change() {
- this.type = this.type == 'child1' ? 'child2' : 'child1';
- }
- },
- components: {
- child1,
- child2
- }
-
- })
- script>
- body>
-
- html>