vue.js - 基于插件值的 Vue 计算属性
问题描述
我实际上正在通过将 vue 应用程序集成到一个插件来重构它,但是我遇到了一个关于计算数据的问题。
我正在尝试做的是将在插件中通过计算属性修改的数据作为目标,但问题是 vue 不针对数据的更改
这是我的问题的一个非常简单的例子
插件
install(Vue) {
Vue.prototype.$myPlugin= {
data: 0,
setValue(val) {
this.data = val
}
}
}
组件(尽管修改了值,但不记录)
computed: {
reactiveData() {
return this.$myPlugin.data1
}
},
watch: {
reactiveData() {
console.log('Value changed')
}
},
mounted() {
this.$myPlugin.setValue(32)
this.$myPlugin.setValue(64)
}
我知道某些 vue 数据由于某种原因不是反应性的,但我真的需要了解如何使我的插件具有反应性。
预先感谢您的帮助 !
解决方案
您需要使用Vue.observable显式地使数据反应:
Vue.prototype.$myPlugin = Vue.observable({
data: 0,
setValue(val) {
this.data = val
}
})
推荐阅读
- entity-framework - 如何将空值从数据库转换为 DbSet 并返回实体框架?
- c++ - c++ template trait -- 编译时不包含头文件
- netbeans - 如何修复 Netbeans 中 ImageJ 函数的“Javadoc not found”消息
- php - Auth:user() 在多重认证应用程序中返回 NULL
- azure - 如何将 HTTPS 添加到在 Azure Linux VM 上运行的包含 Docker 的网站?
- android - Exoplayer 2.9.4 SmoothStreaming
- python - 如何在 Pandas 中的后续行之间进行操作?
- html - 如何让 div 占据父级的全宽?
- python - 为什么这个 for 循环打印两次?
- sql - DMV 查询语法错误异常