vue.js - VUE 在点击时更改组件
问题描述
我想做:主要组件“Test1”,然后单击(切换)组件“Test2”,然后单击(切换)组件“Test3。但是它会出现第一个组件并且单击时立即跳转到第三个组件
<div id="app">
<img alt="Vue logo" src="./assets/logo.png">
<component v-bind:is="component" />
<button v-on:click="toggle()">Toggle</button>
<button v-on:click="toggle1()">Toggle1</button>
</div>
</template>
<script>
import Test from './components/Test.vue'
import Test2 from './components/Test2.vue'
import Test3 from './components/Test3.vue'
export default {
name: 'app',
components: {
Test,
Test2,
Test3
},
data (){
return {
component:'Test'
}
},
methods: {
toggle() {
this.component = Test;
this.component = Test2;
this.component = Test3
},
toggle1(){
this.component = Test2
this.component = Test;
}
}
}
</script>
解决方案
您可以定义方法如下
data: {
return {
counter: 1,
component:'Test',
}
},
methods: {
toggle() {
if (this.counter === 3) {
this.component = 'Test';
this.counter = 1;
} else {
this.counter += 1;
this.component = `Test${this.counter}`;
}
}
}
并且可以只有一个按钮来切换
<button v-on:click="toggle()">Toggle</button>
推荐阅读
- visual-c++ - Catch 22 等待外部应用程序完成处理并在完成前意外取消它
- python - Python 无法识别有效的 RegEx 条目
- c# - WPF 中的弹出窗口无法打开
- sql - 如何在 Oracle SQL 中按顺序匹配当前和前几个月的日期?(例如 1-jun as monday 与 4th jun monday 匹配)
- r - 在 RStudio 中使用 quit() 而不提示保存对代码的更改
- vue.js - this.$vuetify.goTo(0) 在 vuetify 的 v-navigation-drawer 中不起作用
- java - 在 GridView 中添加多个文本视图
- r - 如何从 csv 文件创建一个数据框,其文本由管道 I 分隔?
- python - 我的“if”函数不适用于字符串?
- python-3.x - 在延迟函数中创建变量的效率