Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用TypeScript向Nuxt路由添加钩子?_Typescript_Vue.js_Nuxt.js - Fatal编程技术网

如何使用TypeScript向Nuxt路由添加钩子?

如何使用TypeScript向Nuxt路由添加钩子?,typescript,vue.js,nuxt.js,Typescript,Vue.js,Nuxt.js,我正试图在Nuxt路由中加入一个钩子,这样我就可以在加载页面之前做一些魔术了。然而,我似乎找不到一个关于如何做到这一点的TypeScript示例。以下示例不起作用: <template> <div class="some-css"> {{ text }} </div> </template> <script lang="ts"> import Vue fr

我正试图在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>

{{text}}
从“Vue”导入Vue
导出默认类MyComponent扩展Vue{
text:string=“我的组件”
beforeRouteEnter(到、从、下一个):无效{
log(`Routing from:${from},to:${to}`)
下一个()
}
}
.一些css{
颜色:#000000;
}

有没有一种方法可以在这个组件中或在Nuxt中使用TypeScript在全局级别上执行此操作?

以下是我通常使用Nuxt属性装饰器执行此操作的方法:

<script>
import Vue from "vue"
import { Component } from 'nuxt-property-decorator'

@Component({
  beforeRouteUpdate(to, from) {
    // do stuff
  }
})
export default class MyComponent extends Vue {
}
</script>

从“Vue”导入Vue
从“nuxt属性装饰器”导入{Component}
@组成部分({
路由更新前(到、从){
//做事
}
})
导出默认类MyComponent扩展Vue{
}

啊,是的,我忘了提到我确实使用了@Component,尽管它是vue属性装饰程序importI,但我已经尝试过了,不幸的是它不起作用。。。