<script>
export default {
props: ['propsdata'],
methods: {
removeTodo(todoItem, index) {
localStorage.removeItem(todoItem);
this.todoItems.splice(index, 1);
}
}
}
</script>
<template>
<section>
<ul>
<li v-for = "(todoItem, index) in propsdata" class = "shadow">
<i class = "checkBtn fas fa-check" aria-hidden = "true"></i>
{{ todoItem }}
<span class = "removeBtn" type = "button" @click = "removeTodo(todoItem, index)">
<i class = "fas fa-trash" aria-hidden = "true"></i>
</span>
</li>
</ul>
</section>
</template>
未捕获的类型错误:无法读取未定义的属性'splice‘。这些错误仍在继续发生。请帮帮我。
发布于 2018-09-03 06:06:14
当您在组件方法中引用this.todoItems
时,Vue期望该方法要么来自传入的props
,要么来自使用组件定义的data
,或者作为computed
属性。
从模板
<li v-for = "(todoItem, index) in propsdata" class = "shadow">
^^^^^^^^^
在我看来,你所说的todoItems
要么是1) propsdata
,要么是propsdata
中的一个属性。如果我们看的是选项1),那么将propsdata
重命名为todoItems
,反之亦然。如果是2),那么不是引用this.todoItems
,而是执行this.propsdata.todoItems
https://stackoverflow.com/questions/52140464
复制相似问题