我有这个问题我已经打了好几个小时了;我不明白为什么它不能按预期工作。
我在下面粘贴了一个示例代码。问题是在编辑名称时,{{name}} 没有更新。但是,如果我删除<transition>
元素或v-if="show"
条件中的任何一个,则数据绑定将按预期工作。如果将{{name}}
放置在过渡之外,则相同。
所以看起来过渡块数据绑定?但是,我在文档或其他地方没有找到任何关于它的信息。我在 Vue2 操场上测试了这段代码,它按预期工作(数据绑定工作)。所以行为似乎取决于 Vue3。
有什么我想念的吗?这是Vue3中的错误吗?
提前感谢您的任何意见或想法。
<template>
<div id="demo">
<button v-on:click="show = !show">
Toggle
</button>
<transition name="fade">
<div v-if="show">
<p>hello, {{name}}</p>
<input v-model="name" type="text" />
</div>
</transition>
</div>
</template>
<script lang="ts">
import { defineComponent } from 'vue';
export default defineComponent({
data() {
return {
name: "",
show: true,
}
}
});
</script>
<style scoped>
.fade-enter-active,
.fade-leave-active {
transition: opacity 0.8s ease;
}
.fade-enter-from,
.fade-leave-to {
opacity: 0;
}
</style>