【发布时间】:2020-07-28 11:16:20
【问题描述】:
我正在尝试使用选项卡上的单击事件来设置 data() 内变量的值,然后在我的组件上的 if 语句中使用此变量来测试该值并在为 true 时显示组件。但这不起作用,我没有收到任何错误。我假设当标签上的点击事件触发时变量的值没有被设置。这种方法不能实现功能吗?
<template>
<div id="settings_page" class="page_body">
<h1>Settings</h1>
<div id="user_info" v-if="user">
<div id="tabs">
<div v-on:click="selected_tab == 'account'">Account Details</div>
<div v-on:click="selected_tab == 'divisions'">Divisions</div>
<div v-on:click="selected_tab == 'users'">Users</div>
<div v-on:click="selected_tab == 'columns'">Columns</div>
</div>
<div class="content">
<div v-if="selected_tab == 'account'">
<h2>Profile</h2>
</div>
<div v-if="selected_tab == 'divisions'">
divisions
</div>
<div v-if="selected_tab == 'users'">
users
</div>
<div v-if="selected_tab == 'columns'">
columns
</div>
</div>
</div>
</div>
</template>
<script>
import { mapActions, mapGetters } from 'vuex';
export default {
data() {
return {
selected_tab: 'account'
}
},
computed:mapGetters(['user']),
methods: {
...mapActions(['getProfile'])
},
created() {
this.getProfile();
}
}
</script>
【问题讨论】:
-
在您的内容 div 中,我建议使用
<component :is=...在此处查看文档:vuejs.org/v2/guide/components-dynamic-async.html
标签: javascript vue.js vuejs2 vue-component vuex