Vuejs2 在vue中将一个方法调用到另一个方法中
我正在尝试从vue中的另一个方法内部调用一个方法 我在控制台中得到的是一个未定义的id,但我真正想要的是在getId函数中调用的id 总的来说,我要做的是使用addEvent函数获取复选框事件,这样我就可以从中获取true或false,然后将其发送到saveCheckbox函数,并从saveCheckbox函数调用getId函数来获取特定复选框的ID 我希望我能正确地解释它。如果还不清楚,请告诉我 这就是我所拥有的Vuejs2 在vue中将一个方法调用到另一个方法中,vuejs2,Vuejs2,我正在尝试从vue中的另一个方法内部调用一个方法 我在控制台中得到的是一个未定义的id,但我真正想要的是在getId函数中调用的id 总的来说,我要做的是使用addEvent函数获取复选框事件,这样我就可以从中获取true或false,然后将其发送到saveCheckbox函数,并从saveCheckbox函数调用getId函数来获取特定复选框的ID 我希望我能正确地解释它。如果还不清楚,请告诉我 这就是我所拥有的 <template> <div class="card-
<template>
<div class="card-body">
<table class="table">
<thead class="thead-dark">
<tr>
<th scope="col">Active</th>
<th scope="col">Title</th>
</tr>
</thead>
<tbody>
<tr v-for="(category, index) in categories" >
<td>
<input name="active" type="checkbox" v-model="category.active" @change="getId(category.id)" @click="addEvent">
</td>
<td>
{{ category.title }}
</td>
</tr>
</tbody>
</table>
</div>
</template>
<script>
export default {
props: [
'attributes'
],
data(){
return {
categories: this.attributes,
}
},
methods: {
getId(id){
console.log(id);
return id
},
saveCheckbox(event){
console.log(this.getId());
},
addEvent ({ type, target }) {
const event = {
type,
isCheckbox: target.type === 'checkbox',
target: {
value: target.value,
checked: target.checked
}
}
this.saveCheckbox(event.target.checked)
}
},
mounted() {
console.log('Component mounted.')
}
}
</script>
活跃的
标题
{{category.title}}
导出默认值{
道具:[
“属性”
],
数据(){
返回{
类别:此属性,
}
},
方法:{
getId(id){
console.log(id);
返回id
},
保存复选框(事件){
log(this.getId());
},
addEvent({type,target}){
常量事件={
类型,
isCheckbox:target.type==“复选框”,
目标:{
value:target.value,
选中:target.checked
}
}
this.saveCheckbox(event.target.checked)
}
},
安装的(){
console.log('组件已安装')
}
}
有了排序概述,您没有向该方法传递任何Id,它会尝试返回该Id。因此,这可能就是未定义的内容
方法调用做得很好。用这个。关键字之前您必须将参数(Id)传递给getId方法那么我该怎么做呢?一个方法可以有两个来自不同方法的属性吗?例如
saveCheckbox(event,id)
其中event来自addEvent
而id来自getId
我尝试了console.log(this.getId(id)),
但我刚刚得到的id没有定义。我不知道如何将我需要的两个属性都调用到一个方法中。你能提供一个category对象的示例吗。你到底需要什么?感觉上我们可以重新思考解决问题的方法,找到一个更简单的解决方案