我正在使用Vue.js计算属性,但遇到了一个问题:计算方法IS在正确的时间被调用,但计算方法返回的值被忽略!
我的方法
computed: {
filteredClasses() {
let classes = this.project.classes
const ret = classes && classes.map(klass => {
const klassRet = Object.assign({}, klass)
klassRet.methods = klass.methods.filter(meth => this.isFiltered(meth, klass))
return klassRet
})
console.log(JSON.stringify(ret))
return ret
}
}
Run Code Online (Sandbox Code Playgroud)
console.log语句打印出来的值是正确的,但是当我filteredClasses在模板中使用时,它只使用第一个缓存值并且永远不会更新模板.这是由Vue chrome devtools确认的(filteredClasses在初始缓存后永远不会改变).
谁能给我一些关于为什么会发生这种情况的信息?
Project.vue
<template>
<div>
<div class="card light-blue white-text">
<div class="card-content row">
<div class="col s4 input-field-white inline">
<input type="text" v-model="filter.name" id="filter-name">
<label for="filter-name">Name</label>
</div>
<div class="col s2 input-field-white inline">
<input type="text" v-model="filter.status" …Run Code Online (Sandbox Code Playgroud)