gpt4 book ai didi

javascript - 无法将 VueJS 2 哈希解析为空字符串

转载 作者:行者123 更新时间:2023-12-03 04:06:45 27 4
gpt4 key购买 nike

我目前正在尝试确定网址中是否存在哈希值,但我得到了一些奇怪的结果。下面的代码当使用诸如 http://localhost:8080/subscribers#test 之类的 url 运行时可以正确运行并输出为 #test 这是完美的,但是当我简单地请求 http://localhost:8080/subscribers 它显示为 hash: ""。我最初的想法很简单 this.$route.query.hash === '' 根据 chrome 开发工具,这是正确的。但这里有点奇怪,因为 nullundefined'undefined' 检查两者都不匹配我的 if 语句。

 mounted: function () {
if (this.$route.query.hash === '' || this.$route.query.hash === 'undefined' || this.$route.query.hash === null) {
console.log(this.$route.hash)
console.log(this.$route)
console.log('grabbing auth')
} else {
console.log(this.$route.hash)
console.log(this.$route)
console.log('attempting redirect')
}
}

控制台输出,显示为尝试重定向:

enter image description here

有人能弄清楚这是为什么还是我做错了什么?

编辑:

使用 if (this.$route.query.hash) { 也会提供相同的奇怪结果,其中 if 语句从未被验证为 true。

最佳答案

您是否尝试过从语句中删除 .query

另请注意,如果您不完全强制刷新而不是仅添加 #test 然后接受 url,您将导致 dom 刷新,但不会导致路由器更新,这就是为什么您会得到奇怪的结果从控制台。如果您执行了完全刷新,例如从不同的网站返回或来自不同的网站,那么它将正确解析 #。

关于javascript - 无法将 VueJS 2 哈希解析为空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44522318/

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