vuejs2 - Vue 改变了一个用作“v-model”的属性
问题描述
很多这样的问题,但我找不到我的方式。我简化了代码来解释我的问题......只是想要一个可重用的反馈消息来显示使用 vuetity 和 snackbar 小部件的其余 api 的结果。在父组件中:
<Feedback :active="hasFeedback" :msg="feedbackMsg" />
反馈组件:
<template>
<v-snackbar v-model="active" >
{{ msg }}
<v-icon @click="active = false">mdi-close-thick</v-icon>
</v-snackbar>
</template>
<script>
export default {
components: {},
props: ["active", "msg"]
};
</script>
我尝试添加计算属性、方法、getter、setter,但总是出错。
解决方案
只需将您的活动道具复制到组件的数据部分中的某个道具,然后在数据部分中使用和更改该道具。
<template>
<v-snackbar v-model="isActive" >
{{ msg }}
<v-icon @click="isActive = false">mdi-close-thick</v-icon>
</v-snackbar>
</template>
<script>
export default {
components: {},
props: {
active: {
type: Boolean,
default: false
}, {
msg: {
type: String
}
},
data () {
return {
isActive: this.active
}
}
};
</script>
推荐阅读
- sql - 计算每个国家/地区每天的价值份额
- angular - 如何将元素映射到mat-table中的多个属性
- java - 在 Android 4.1 中,我得到 E/dalvikvm-heap: Out of memory on a 130885356-byte allocation 。不使用位图
- c++ - Cmake 项目中的 QML_ELEMENT
- swift - 如何从图像选择器中获取图像并显示到添加表单中?
- spring - 使用 Spring Boot 的 Flyway 迁移错误详细信息
- angular - 如何在 Angular 中制作地图?
- ruby-on-rails - 如何在 ruby on rails 中使用 html 中的按钮更新控制器变量?
- hibernate - 如何在休眠映射文件中强制执行级联行为
- flutter - 在 Flutter 中,您如何制作动画以将容器从 0 高度扩展到其内容的高度?