Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.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
Javascript Vue.js中未从子组件发送到父组件的数据_Javascript_Vue.js_Vuejs2_Vue Component_Vuetify.js - Fatal编程技术网

Javascript Vue.js中未从子组件发送到父组件的数据

Javascript Vue.js中未从子组件发送到父组件的数据,javascript,vue.js,vuejs2,vue-component,vuetify.js,Javascript,Vue.js,Vuejs2,Vue Component,Vuetify.js,下面是子组件和父组件。我无法找出哪里出了问题,但我无法将值数据从子组件传递到父组件。请帮我找出哪里出了问题 子组件 <template> <div> <v-btn class="red-button" @click.prevent="checkAgent('information')"> Information </v-btn> <v-btn clas

下面是子组件和父组件。我无法找出哪里出了问题,但我无法将值数据从子组件传递到父组件。请帮我找出哪里出了问题

子组件

<template>
  <div>
    <v-btn class="red-button" @click.prevent="checkAgent('information')">
      Information      
    </v-btn>
    <v-btn class="red-button" @click.prevent="checkAgent('policies')">
      Policies
    </v-btn>
  </div>
</template>


<script>

  export default {
  data: function () {
    return {
    }
  },

  methods: {
    checkAgent(value) {
      this.$emit('navigate', value);  
    },
  }
};
</script>
<template>
  <v-layout row wrap>
    <v-flex xs12 sm12 lg12 >
      <div class="account-section">
        <Details @navigate="moveTo(value)"/>
      </div>
    </v-flex>
  </v-layout>          
</template>

<script>
  import Details from 'views/agent/edit.vue';
  

  export default {
    components: {
      Details,
    },
    data: function () {
      return {
      }
    },
    methods: {
      moveTo(value) {
        console.log(value)
      },
    },
    
  };
</script>

问询处
政策
导出默认值{
数据:函数(){
返回{
}
},
方法:{
检查代理(值){
此.$emit('navigate',值);
},
}
};
父组件

<template>
  <div>
    <v-btn class="red-button" @click.prevent="checkAgent('information')">
      Information      
    </v-btn>
    <v-btn class="red-button" @click.prevent="checkAgent('policies')">
      Policies
    </v-btn>
  </div>
</template>


<script>

  export default {
  data: function () {
    return {
    }
  },

  methods: {
    checkAgent(value) {
      this.$emit('navigate', value);  
    },
  }
};
</script>
<template>
  <v-layout row wrap>
    <v-flex xs12 sm12 lg12 >
      <div class="account-section">
        <Details @navigate="moveTo(value)"/>
      </div>
    </v-flex>
  </v-layout>          
</template>

<script>
  import Details from 'views/agent/edit.vue';
  

  export default {
    components: {
      Details,
    },
    data: function () {
      return {
      }
    },
    methods: {
      moveTo(value) {
        console.log(value)
      },
    },
    
  };
</script>

从“views/agent/edit.vue”导入详细信息;
导出默认值{
组成部分:{
细节,
},
数据:函数(){
返回{
}
},
方法:{
移动到(值){
console.log(值)
},
},
};

您应该调用发出的事件处理程序,而无需在模板中指定参数:

   <Details @navigate="moveTo"/>

您应该调用发出的事件处理程序,而不在模板中指定参数:

   <Details @navigate="moveTo"/>
从中,您可以使用
$event
访问发出的事件的值

如果事件处理程序是一个方法,并且没有指定任何参数,Vue将将发出的值作为该方法的第一个参数传递

所以对于你来说

一个补丁将是

另一个补丁将与@Boussadjra Brahim的答案相同

下面是第一个修复程序的一个简单演示:

Vue.component('sidebar'{
模板:`
单击时增量
`
})
新Vue({
el:“#应用程序”,
数据:{
增量:0
},
方法:{
GetUpdate:函数(newVal){
this.increment+=newVal
}
}
})

{{increment}}

从中,您可以使用
$event
访问发出事件的值

如果事件处理程序是一个方法,并且没有指定任何参数,Vue将将发出的值作为该方法的第一个参数传递

所以对于你来说

一个补丁将是

另一个补丁将与@Boussadjra Brahim的答案相同

下面是第一个修复程序的一个简单演示:

Vue.component('sidebar'{
模板:`
单击时增量
`
})
新Vue({
el:“#应用程序”,
数据:{
增量:0
},
方法:{
GetUpdate:函数(newVal){
this.increment+=newVal
}
}
})

{{increment}}


您似乎没有注册父模板中使用的
详细信息
组件。这是打字错误吗?@YomS。打字错误。请查收now@YomS. 在moveTo方法中,值抛出错误属性或方法“值”未在实例上定义,但在呈现过程中被引用。您似乎没有注册父模板中使用的
详细信息
组件。这是打字错误吗?@YomS。打字错误。请查收now@YomS. 在moveTo方法中,值抛出错误属性或方法“value”未在实例上定义,但在呈现期间引用。不客气,您必须注意,模板中的值被视为未定义,并作为未定义的值再次传递给处理程序。不客气,您必须注意,模板中的值被视为未定义,并作为未定义的值再次传递给处理程序