javascript - Vue.js 通过 Prop 传递回调。

标签 javascript vue.js

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

<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>

在我使用的另一个组件中 ^:

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

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

   //fetchMessages
 }
</script>

但我收到错误:

Invalid prop: type check failed for prop "callback". Expected Function, got Undefined. 
(found in component <pagination>)

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

最佳答案

我认为你的第二个组件可能写得不准确,你的loadData回调应该在methods中:

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

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

关于javascript - Vue.js 通过 Prop 传递回调。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41987435/

相关文章:

Javascript:如何暂停/停止当前播放的音频?

javascript - 如何通过变量将方法名称传递给@click来绑定(bind)方法

javascript - 如何使用队列方法制作动态列表

html - 列数未知/宽度相同的 CSS 网格布局

javascript - 范围内的冲突组件

php - 为什么我的ajax加载了两次相同的功能?

javascript - ASP.Net 在 UpdatePanel 隐藏字段上获取 ScriptManager.RegisterClientScriptBlock 返回

javascript - 如何在没有 Node 服务器的情况下运行 AngularJS 应用程序

javascript - 如何使用 JavaScript 创建无限循环的随机播放文本效果?

javascript - 哪些参数最好存储在localStorage中?