【发布时间】:2019-04-10 18:19:27
【问题描述】:
我有一个数据对象,它由与 vue/UI 无关的属性和描述状态的数据组成。现在我只希望state 具有反应性,但我最初需要组件中的整个对象。我需要 vue 不修改其他属性,因为它与访问其他属性的另一个库混淆。 (期望数组但得到观察者)
是否可以只使对象的一部分具有反应性?
class Game {
constructor() {
this.untrackedProperty = ...;
this.state = {
these: "",
should: "",
be: "",
reactive: ""
}
}
}
// vue component
<script>
export default {
data: function() {
return {
gameState: null
}
},
created() {
this.game = new Game();
this.gameState = this.game.state;
}
}
</script>
类似的东西。
我的意思是“这就是我认为它应该起作用的方式 - 它没有,但我认为它很好地描述了我的意图”
【问题讨论】:
-
你能提供更多你想要的信息吗?不是“东西”……请提供对象以及您想要更改的部分以及不更改的部分
-
可能我表达的不是很清楚,但是数据结构和我上面描述的一模一样。游戏对象发生了变化,状态发生了变化,
untrackedProperty也发生了变化,但我不希望 Vue 观察到untrackedProperty而是只观察state属性。我的理解是,我在data中输入的所有内容都被 Vue 跟踪,因此我只将state放入数据中,但这似乎不起作用,因为它没有正确更新。如果我将整个game对象放在上面,它确实会更新,但它会与我不希望它弄乱的属性混淆。
标签: vue.js vuejs2 vue-component