typescript - 如何使用 TypeScript 为 Nuxt 路由添加钩子?
问题描述
我试图在 Nuxt 路由中加入一个钩子,以便在加载页面之前做一些魔术。但是,我似乎找不到有关如何执行此操作的 TypeScript 示例。以下示例不起作用:
<template>
<div class="some-css">
{{ text }}
</div>
</template>
<script lang="ts">
import Vue from "vue"
export default class MyComponent extends Vue {
text: string = "My Component"
beforeRouteEnter(to, from, next): void {
console.log(`Routing from: ${ from }, to: ${ to }`)
next()
}
}
</script>
<style>
.some-css {
color: #000000;
}
</style>
有没有办法在这个组件中或使用 TypeScript 在 Nuxt 的全局级别上执行此操作?
解决方案
以下是我通常使用 nuxt-property-decorator 的方式:
<script>
import Vue from "vue"
import { Component } from 'nuxt-property-decorator'
@Component({
beforeRouteUpdate(to, from) {
// do stuff
}
})
export default class MyComponent extends Vue {
}
</script>
推荐阅读
- reactjs - 通过 javascript 触发的 Hotjar 调查与 Google 标记管理器未在第一次历史更改时加载
- node.js - 在 React 中将 beforeunload 事件监听器添加到窗口
- reactjs - React - 如何在选择菜单中显示数据值
- django - Django POST问题
- arrays - 为什么在索引 Garray 时缺少一个字符?
- html - 在传单地图顶部显示选择选项
- java - 无法遍历 MongoDB 集合
- php - Laravel Eloquent 递归文件夹,获取文件/文件夹
- angular - 在 ng-apexchart 上输入未定义的错误以获取角度
- amazon-ecs - 用于基础设施生成的 terraform 导致幂等错误的可能原因