Gam*_*mer 4 javascript arrays search object vue.js
我有一个包含三个对象的数组,每个对象都有直接的键值对。
// Search Input
<div class="dv-header-search">
<input type="text" class="dv-header-input"
placeholder="Search"
v-model="query.search_input">
</div>
//Table row
<tr v-for="row in filteredRow">
<td v-for="(value, key) in row">{{value}}</td>
</tr>
data() {
return {
model: {},
columns: {},
query: {
search_input: ''
},
}
},
// Setting model after API call
.then(function(response) {
Vue.set(vm.$data, 'model', response.data.model)
})
computed: {
filteredRow: function(){
return this.model.data.filter((row) => {
return row;
});
}
}
Run Code Online (Sandbox Code Playgroud)
它给了我以下例外:
类型错误:无法读取未定义的属性“过滤器”
我在这里缺少什么。
您model
在方法中定义为空对象data
。
即使您设置了model
稍后的值,您的filteredRow
方法也会在组件渲染模板时触发,也就是说this.model.data
将undefined
在那时触发。
最简单的修复方法是model.data
在方法中给出初始值data
:
data() {
return {
model: { data: [] },
columns: {},
query: {
search_input: ''
},
}
},
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3000 次 |
最近记录: |