Javascript Vue未解析变量PhpStorm
我有一个Vue脚本。当我用PhpStorm调试它时,即使我将变量Javascript Vue未解析变量PhpStorm,javascript,vue.js,phpstorm,webstorm,Javascript,Vue.js,Phpstorm,Webstorm,我有一个Vue脚本。当我用PhpStorm调试它时,即使我将变量redirect\u设置为,我还是得到了未解决的变量语法错误。请检查图像。我怎样才能解决它 <script> const timeToRefetch = 2000; let intervalRef; const homePageUrl = "/"; let messageCount = 0;
redirect\u设置为
,我还是得到了未解决的变量语法错误。请检查图像。我怎样才能解决它
<script>
const timeToRefetch = 2000;
let intervalRef;
const homePageUrl = "/";
let messageCount = 0;
var app = new Vue({
el: "#app",
data: {
status: "",
message: "",
redirect_to: ""
},
created() {
const refThis = this;
intervalRef = setInterval(() => {
fetch(ApiUrl)
.then(response => response.json())
.then(repos => {
refThis.status = repos.status;
this.message = repos.message;
clearInterval(intervalRef);
setTimeout(() => {
window.location.href = repos.redirect_to;
}, 3000);
},
);
}, timeToRefetch);
}
});
</script>
常数timetorefeach=2000;
让intervalRef;
const homePageUrl=“/”;
让messageCount=0;
var app=新的Vue({
el:“应用程序”,
数据:{
地位:“,
消息:“”,
将_重定向到:“
},
创建(){
const refThis=this;
intervalRef=setInterval(()=>{
获取(APIRL)
.then(response=>response.json())
。然后(回购=>{
refThis.status=repos.status;
this.message=repos.message;
clearInterval(intervalRef);
设置超时(()=>{
window.location.href=repos.redirect\u to;
}, 3000);
},
);
},timetorefeach);
}
});
如果在代码中使用某些对象的键只有在运行时才知道(通过ajax调用生成、接收等),那么IDE无法使用静态代码分析来解析它们。但是您可以让IDE知道您的运行时数据是什么样子的。使用JSDoc注释的可能解决方案:
/**
* @typedef {Object} repos
* @property {string} status
* @property {string} message
* @property {string} redirect_to
*
*/
...
var app = new Vue({
el: "#app",
data: {
status: "",
message: "",
redirect_to: ""
},
created() {
const refThis = this;
intervalRef = setInterval(() => {
fetch(ApiUrl)
.then(response => response.json())
.then(
/**
* @param {repos} repos
*/
(repos) => {
refThis.status = repos.status;
this.message = repos.message;
clearInterval(intervalRef);
setTimeout(() => {
window.location.href = repos.redirect_to;
}, 3000);
},
);
}, timeToRefetch);
}
});
另请参见,以了解其他可能的解决方法以前从未见过
@属性
提示-真棒!