2017-03-05 75 views
0

我目前正在使用Vue组件内的moment.js,但我没有看到在vue devtools中显示的某些更改。Vue.js devtool更改不显示

我的例子:

export default { 
    data() { 
     return { 
      moment: moment(), 

     }; 
    }, 
    methods: { 
     prevMonth() { 
      this.moment.subtract(7, 'days'); 
     }, 
     nextMonth() { 
      this.moment.add(7, 'days'); 
     } 
    } 
}; 

我猜这事做的事实,我呼吁我的时刻数据属性的方法,而不是直接像一些操纵它。像这样的例子完美的作品,并更新VUE devtools我计数:

export default { 
    data() { 
     return { 
      count: 0, 

     }; 
    }, 
    methods: { 
     prevMonth() { 
      this.count--; 
     }, 
     nextMonth() { 
      this.count++; 
     } 
    } 
}; 

有没有什么办法来迫使VUE devtools重载或展示我以任何方式改变?

+0

可能的重复[为什么vue.js没有使用date.js更新datepicker的dom](http://stackoverflow.com/questions/40959483/why-does-vue-js-not-update-the- DOM与 - 日期选择 - 使用矩-JS) – Saurabh

回答

1

Vue无法检测到对象内部的某些更改,请从官方文档中阅读this explanation以更好地理解它。

我认为最简单的方法做你正在尝试什么实现的是从你现有的在你的prevMonth/nextMonth方法使一个新的日期,并将其分配给this.moment,像这样:

prevMonth() { 
    this.moment = moment(this.moment).subtract(1, 'month'); 
}, 

working JSFiddle example