使用名为vue-tasty-burgers的Vue组件进行可切换导航时,我遇到了问题。
当使用isActive
从导入的组件v-show
获得的数据为 true ,但似乎找不到任何获取数据的方法时,我想显示菜单。
我尝试包含v-show="isActive"
,但是似乎没有从我的isActive
汉堡组件数据中获取变量。
这是我到目前为止的去处:
<transition name="fade">
<div v-show="isActive" class="menu">
<transition-group name="list" tag="nav">
<router-link key="home" to="/Home" class="menu-item">
Home
</router-link>
<router-link key="portfolio" to="/Portfolio" class="menu-item">
Portfolio
</router-link>
<router-link key="technology" to="/Technology" class="menu-item">
Technology
</router-link>
</transition-group>
</div>
</transition>
<div class="hero">
<div class="header">
<router-link to="home">
<div class="brand">
<img src="../assets/brand.png">
<div class="tagline">
Your<br>Little<br>Spaceship
</div>
</div>
</router-link>
<div class="burger">
<tasty-burger-button
type="spin"
color="#fff"
activeColor="#fff"/>
</div>
</div>
</div>
TL; DR -如何从导入的汉堡组件的isActive
数据中获取数据?
答案 0 :(得分:1)
道具传播向下,事件冒泡
这意味着您无法从组件中获取数据,而是需要监听事件。
所以您将使用类似这样的方式...
<template>
<tasty-burger-button
:active="isActive"
@toggle="setIsActive"
/>
</template>
<script>
export default {
data () {
return {
isActive: false,
}
},
methods:{
setIsActive(value) {
this.isActive = value;
}
}
}
</script>