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>