API validate方法
Nuxt.js 可以让你在动态路由对应的组件中配置校验用于校验动态路由参数的有效性。
validate({ params, query }) { return true // 如果参数有效 return false // 参数无效,Nuxt.js 停止渲染并 }
async validate({ params, query, store }) { // await operations return true // 如果参数有效 return false // 将停止Nuxt.js呈现并 }
您还可以返回Promise:
validate({ params, query, store }) { return new Promise((resolve) => setTimeout(() => resolve())) }
Nuxt.js 可以让你在动态路由对应的组件(本例为: pages/users/_id.vue)中配置校验。
如果校验返回的值不为 true, Nuxt.js 将加载 。
export default { validate ({ params }) { // Must be a number return /^\d+$/.test(params.id) } }
你也可以在validate 中校验 的数据 (如果 store 此前在 nuxtServerInit 中被设置了的话):
export default { validate ({ params, store }) { // 校验 `params.id` 是否存在 return store.state.categoriesme(category => category.id === params.id) } }
您还可以在验证执行期间抛出预期或意外:
export default { async validate ({ params, store }) { // 使用消息触发内部服务器500 throw new Error('Under Construction!') } }