gpt4 book ai didi

javascript - Vue - 如何访问 beforeRouteLeave 内的数据 - 在 Component Guard 中

转载 作者:行者123 更新时间:2023-12-01 02:48:59 25 4
gpt4 key购买 nike

尝试访问 beforeRouteLeave 内的数据,但一切都是未定义

下面的代码

<template>
...
</template>

<style lang="scss">
...
</style>

<script>

export default {
name: 'blog-new',
data() {
return {
isBodyChanged: false,
isPublished: false,
isTitleChanged: false,
}
},
created() {
...
},
beforeRouteLeave: (to, from, next) => {
console.log(this.isBodyChanged) //<--undefined
if (this.isBodyChanged) {
return next(false)
} else {
return next()
}
}
}
</script>

最佳答案

您需要使用 ES5 函数而不是箭头函数。使用 ES5 函数将使 this 关键字等于组件的实例,而箭头函数使用 lexical scoping .

beforeRouteLeave: function(to, from, next) {
if (this.isBodyChanged) {
return next(false)
} else {
return next()
}
}

但是,您也可以使用我认为很有帮助的简写。这与上面的计算结果相同。

beforeRouteLeave(to, from, next) {
if (this.isBodyChanged) {
return next(false)
} else {
return next()
}
}

关于javascript - Vue - 如何访问 beforeRouteLeave 内的数据 - 在 Component Guard 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47084820/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com