使用 Typescript 观察 Vue.js 中的路线变化
Watch route changes in Vue.js with Typescript
我想使用 TypeScript 在 Vue.js 应用程序中检测 URL 中的更改。在 JavaScript 中,可以按如下方式完成:
watch: {
'$route': {
handler: 'onUrlChange',
immediate: true,
deep: true
}
},
onUrlChange(newUrl){
// Some action
}
我如何在 TypeScript 中做同样的事情?
我在这里找到了解决方案:https://github.com/kaorun343/vue-property-decorator
可以这样做:
@Watch('$route', { immediate: true, deep: true })
onUrlChange(newVal: any) {
// Some action
}
这就是我的方式
<script lang="ts">
import Vue from 'vue'
import { Route } from 'vue-router'
export default Vue.extend({
name: 'HelloWorld',
watch: {
'$route': {
handler: function(to: Route): void {
// Do something here.
console.log(to)
},
immediate: true,
},
},
})
</script>
我想使用 TypeScript 在 Vue.js 应用程序中检测 URL 中的更改。在 JavaScript 中,可以按如下方式完成:
watch: {
'$route': {
handler: 'onUrlChange',
immediate: true,
deep: true
}
},
onUrlChange(newUrl){
// Some action
}
我如何在 TypeScript 中做同样的事情?
我在这里找到了解决方案:https://github.com/kaorun343/vue-property-decorator
可以这样做:
@Watch('$route', { immediate: true, deep: true })
onUrlChange(newVal: any) {
// Some action
}
这就是我的方式
<script lang="ts">
import Vue from 'vue'
import { Route } from 'vue-router'
export default Vue.extend({
name: 'HelloWorld',
watch: {
'$route': {
handler: function(to: Route): void {
// Do something here.
console.log(to)
},
immediate: true,
},
},
})
</script>