【问题标题】:Nested properties are not reactive in Vue嵌套属性在 Vue 中不是响应式的
【发布时间】:2018-04-27 03:50:22
【问题描述】:

我有一个带有嵌套属性的组件:

 data () {
   return {
     config: {
       headers: ['a', 'b', 'c'],
       pagination: {
         currentPage: externalService.data.page
         totalPages: externalService.data.totalPages
       }
     }
   }
 }

externalService.data.totalPages 被更改(由其他组件)时,子组件不会对此做出反应,因为config 中的嵌套引用可能已更改,但config 本身并未更改。

我可以使用观察者来解决它,但我想知道它的声明性(和最佳)解决方案是什么。当谈到客户端时,我不喜欢命令式方法。

【问题讨论】:

    标签: vue.js


    【解决方案1】:

    我假设externalService.data.totalPages 是一个整数。整数是按值而不是按引用传递的。所以这是一种完全正常的行为,您确实应该使用观察者。

    【讨论】:

    • 谢谢。我决定用一个对象简单地包装原始道具,所以与其看,不如说反应性质简单地起作用。
    • 是的,这实际上是最好的解决方案
    • Chen,你能详细说明一下用一个对象包裹原始道具是什么意思吗?
    • @HJohnson 喜欢从1{value: 1}
    猜你喜欢
    • 1970-01-01
    • 2020-02-07
    • 2018-12-27
    • 2018-12-18
    • 2019-07-09
    • 2018-03-25
    • 2021-03-16
    • 2016-02-21
    • 2021-03-23
    相关资源
    最近更新 更多