【发布时间】:2016-10-24 14:14:54
【问题描述】:
我正在为 Vue.js 编写测试,并且我正在尝试编写测试以确保在更改某些道具以进行分页时,组件中的结果值会正确更新。
因此,当我 console.log 组件时,我看到了正确更新的值,但是当我尝试从字面上获取该属性时,它给了我旧的和过时的值。 查看以下屏幕截图中的 rangeList 以了解我的意思:
这是我的代码,以便您了解是如何生成此输出的。
pagComp.$refs.component.limit = 10;
pagComp.$refs.component.pages = 145;
console.log(pagComp.$refs.component);
console.log('RangList: ' + pagComp.$refs.component.rangeList.length);
下面是修改rangeList的代码:
createListOfRanges() {
let range = [];
for(let i = 0; i < this.pages; i++) {
range.push(i);
}
this.rangeList = [];
while(range.length > 0) {
this.rangeList.push(range.splice(0, this.rangeLength));
}
this.correctLastRange();
},
最后,这个函数在两个地方被调用:创建组件的时候,以及pages属性改变的时候。这是观察者:
watch: {
pages(val) {
this.createListOfRanges();
}
},
【问题讨论】:
-
能否显示修改
rangeList的代码? -
确定!我已经用这种方法更新了问题。
标签: vue.js vue-component