Javascript Vue.js通过道具传递回调。

Javascript Vue.js通过道具传递回调。,javascript,vue.js,Javascript,Vue.js,我有一个组件,看起来像这样: <template> <div> <pagination class="center" :pagination="pagination" :callback="loadData" :options="paginationOptions"></pagination> </div> </template> <script> import Pagi

我有一个组件,看起来像这样:

<template>
    <div>
        <pagination class="center" :pagination="pagination" :callback="loadData" :options="paginationOptions"></pagination>
    </div>
</template>

<script>
    import Pagination from 'vue-bootstrap-pagination';

    export default {
        components: { Pagination },

        props: ['pagination', 'loadData'],

        data() {
            return {
                paginationOptions: {
                    offset: 5,
                    previousText: 'Terug',
                    nextText: 'Volgende',
                    alwaysShowPrevNext: false
                }
            }
        }
    }
</script>

从“vue引导分页”导入分页;
导出默认值{
组件:{Pagination},
道具:['pagination','loadData'],
数据(){
返回{
分页选项:{
抵销:5,
上一段文字:“Terug”,
下一个文本:“Volgende”,
alwaysShowPrevNext:错误
}
}
}
}
在另一个组件中,我使用^:

<template>
    <pagination :pagination="pagination" :callback="loadData" :options="paginationOptions"></pagination>
</template>

<script>
 export default {
   loadData() {
       this.fetchMessages(this.pagination.current_page);
   }

   //fetchMessages
 }
</script>

导出默认值{
loadData(){
this.fetchMessages(this.pagination.current_页面);
}
//获取消息
}
但我收到了错误:

Invalid prop: type check failed for prop "callback". Expected Function, got Undefined. 
(found in component <pagination>)
无效的属性:属性“回调”的类型检查失败。预期函数,未定义。
(在组件中找到)

Vue.js 2.0
中不可能传递回调吗?

我认为您的第二个组件可能写得不准确,您的
loadData
回调应该在
方法中进行:

<template>
    <pagination :pagination="pagination" :callback="loadData" :options="paginationOptions"></pagination>
</template>

<script>
 export default {
   methods: {
     loadData() {
         this.fetchMessages(this.pagination.current_page);
     }
   }
 }
</script>

导出默认值{
方法:{
loadData(){
this.fetchMessages(this.pagination.current_页面);
}
}
}
App.vue

<template>
  <div>
    <pre>{{ request }}</pre>
    <pagination @callback="loadData"></pagination>
  </div>
</template>

<script>
import Pagination from './Pagination.vue'
export default {
  name: 'App',
  components: { Pagination },
  data() {
    return {
      request: {}
    }
  },
  methods: {
    loadData(request) {
      this.request = request
    }
  }
}
</script>

{{request}}
从“./Pagination.vue”导入分页
导出默认值{
名称:“应用程序”,
组件:{Pagination},
数据(){
返回{
请求:{}
}
},
方法:{
加载数据(请求){
this.request=请求
}
}
}
Pagination.vue:


回电
导出默认值{
名称:“分页”
}

道具名称是
回调
,而不是
加载数据
。欢迎来到StackOverflow!如果你能提供更多的信息,比如这段代码的作用以及它是如何解决问题的,那就更好了!
<template>
  <div>
    <button @click="$emit('callback', { currentPage: 10, whatEver: 7 })">call it back</button>
  </div>
</template>

<script>
  export default {
    name: 'Pagination'
  }
</script>