vue.js - Vue.js:点击处理程序
问题描述
<paginate v-model="page" :page-count="pageCount" :container-class="'pagination'" :click-handler="clickCallback(page)" prev-text="‹" next-text="›"></paginate>
...
data: {
page: 1
},
methods: {
clickCallback: async function(page) {
...
}
...
当我单击分页块中的页面时,会发生错误:
[Vue 警告]:无效的道具:道具“clickHandler”的类型检查失败。预期功能,得到承诺。
如何处理?
解决方案
该属性不接受 Promises - 仅接受同步函数。要么将异步函数包装在同步包装器中,要么将函数的异步部分放入另一个函数中:
<paginate v-model="page" :page-count="pageCount"
:container-class="'pagination'"
:click-handler="clickCallback(page)" prev-text="‹" next-text="›">
</paginate>
...
data: {
page: 1
},
methods: {
clickCallback: function(page) {
...
this.asyncFunction(param1,....);
...
}
asyncFunction: async function(p1)
{
...
}
...
推荐阅读
- authentication - 如何使用 SPIFFE/SPIRE 实现基于角色的身份验证?
- bash - 如何使用 bash for 循环迭代 aws cli 结果?[描述图像]
- c# - 在 MainLayout 或 App 中调用 ASP.NET Core Blazor WebAssembly 应用程序生命周期事件 - 断点永远不会命中
- excel - 做 While 循环,但只返回第一个指定的值
- java - Powershell 卸载 java 32 和 64 位
- dynamic - 我怎样才能通过字典
到 Blazor 组件? - google-cloud-platform - Dataprep - 架构与每次计划运行的配方都不匹配
- amazon-web-services - 将 Kubernetes 应用程序从 AWS 迁移到 GCP
- flutter - Flutter 验证器语法错误
- r - 在 R 中的几个 data.frame 对象中更改单个列名