Kyl*_*yle 3 javascript methods scoping vue.js vuejs2
我有一个Vue.js组件,该组件的数据变量是JSON对象,并且我已经制作了一种方法,该方法旨在通过键轻松地在该对象中递归查找项目。
这里是:
getJsonItem(lookup, obj=this.cardInfo) {
for (item in obj) {
if (item == lookup) {
return obj[item];
} else if (obj[item] instanceof Object) {
getJsonItem(lookup, obj[item]);
}
}
},
Run Code Online (Sandbox Code Playgroud)
现在,这在Vue JS之外的控制台中工作得很好,但是当我尝试从Vue JS中作为一种方法运行它时,出现“ ReferenceError:未定义项目”错误。
Vue JS中的变量作用域是否发生了一些有趣的事情,使我无法引用在for循环中声明的“ item”变量?
我确定这可能是我没看到的简单事件。
你必须使用var,let或const为一个变量声明(在严格模式):
for (const item in obj)
^^^^^
Run Code Online (Sandbox Code Playgroud)