想要让一个函数在合适的条件下自我调用,相当于是这样子
function test(e){
if (true){
test(e[0])
} else {
console.log(xxx)
}
}
测试的数据
[{name:'张三',age:11,like:{这里内容太多,不贴了}},{name:'李四',age:22,like:{这里内容太多,不贴了}}]
现在有一个自定义的全局函数文件:Helpers.js
exports.install = function (Vue) {
/**
* 先测试一下
* @param obj {Array|Object}
*/
Vue.prototype.valInObj = function (obj) {
for (let k in obj) {
console.log(obj[k])
}
}
}
当仅是这些时,能在控制台打印内容。
但是,当代码变为下面的时
/**
* 先测试一下
* @param obj {Array|Object}
*/
Vue.prototype.valInObj = function (obj) {
for (let k in obj) {
if (typeof obj[k] === 'object') {
console.log('obj[' + k + ']是obj')
this.valInObj(obj[k])
} else {
console.log(obj[k])
}
}
}
终端报错
控制台报错
此时,我把代码改回原来正常的样子
/**
* 先测试一下
* @param obj {Array|Object}
*/
Vue.prototype.valInObj = function (obj) {
for (let k in obj) {
console.log(obj[k])
}
}
终端显示编译成功了,但控制台还是显示那个错误,这时候只有重新运行npm run dev,浏览器才能正常显示,否则做什么都无解。网上找了各种方法都试过了,还是无法解决这个错误。