我使用Laravel 5.5,Vue 2并使用Laravel-mix,我尝试使用Vue在输入元素上呈现一个列表,但是当我尝试这样做时,控制台返回
[Vue警告]:属性或方法“任务”未在实例上定义,但在渲染期间被引用
这是我的模板,就像一个循环:
<template v-for="task in tasks">
<div class="input-group mb-1">
<div class="input-group-prepend">
<div class="input-group-text bg-white cursor-pointer checkbox">
<span class="mdi mdi-crop-square"></span>
</div>
</div>
<input type="text" :id="task.id_task" class="form-control bg-white cursor-pointer task-clk" :value="task.name" @click="showTask"
readonly>
</div>
</template>
所以,这是我的Vue组件
<script>
function Task({id_task, name, status}) {
this.id_task = id_task;
this.name = name;
this.status = status;
}
export default {
data() {
return {
tasks: []
}
},
props: ['idList, id_task, name, status'],
created() {
this.getTasks();
},
methods: {
getTasks() {
window.axios.get('/api/get-tasks-by-list/' + this.idList).then(({data}) => {
data.tasks.forEach(task => {
this.tasks.push(new Task(task));
});
});
},
showTask(ev) {
var id = ev.currentTarget.id;
console.log(id);
}
},
}
</script>
我真的不明白为什么会出现这个错误。