Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vuejs2 在vue中将一个方法调用到另一个方法中_Vuejs2 - Fatal编程技术网

Vuejs2 在vue中将一个方法调用到另一个方法中

Vuejs2 在vue中将一个方法调用到另一个方法中,vuejs2,Vuejs2,我正在尝试从vue中的另一个方法内部调用一个方法 我在控制台中得到的是一个未定义的id,但我真正想要的是在getId函数中调用的id 总的来说,我要做的是使用addEvent函数获取复选框事件,这样我就可以从中获取true或false,然后将其发送到saveCheckbox函数,并从saveCheckbox函数调用getId函数来获取特定复选框的ID 我希望我能正确地解释它。如果还不清楚,请告诉我 这就是我所拥有的 <template> <div class="card-

我正在尝试从vue中的另一个方法内部调用一个方法

我在控制台中得到的是一个未定义的id,但我真正想要的是在getId函数中调用的id

总的来说,我要做的是使用addEvent函数获取复选框事件,这样我就可以从中获取true或false,然后将其发送到saveCheckbox函数,并从saveCheckbox函数调用getId函数来获取特定复选框的ID

我希望我能正确地解释它。如果还不清楚,请告诉我

这就是我所拥有的

<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对象的示例吗。你到底需要什么?感觉上我们可以重新思考解决问题的方法,找到一个更简单的解决方案