代码拉取完成,页面将自动刷新
import { isRef} from 'vue'
//Obtain value from data by path,return undefined if no value is found
export function getByPath(data:any,path:string){
if (!path){
return data
}
//
let temp=isRef(data)?data.value:data;
//Split path by .
let pathItems=path.split(".") ;
for(let i=0;i<pathItems.length;i++){
//
// console.log(i+'==>'+pathItems[i]+'~~~'+JSON.stringify(temp))
temp=temp[pathItems[i]]
//console.log(JSON.stringify(temp))
if(temp==undefined){
return undefined
}
}
//
return temp;
}
//Set value to data by path
//Force:Create the proper object if path is not reachable
export function setByPath(data: any, path: string, value: any,force=false) {
if (!path) {
//
return data;
}
//
//
// console.log('####'+isRef(data)+'~~~'+isReactive(data))
let temp =isRef(data)?data.value:data;
// console.log('@@@'+isRef(temp)+'~~~'+isReactive(temp))
// console.log(data)
let pathItems = path.split(".");
for (let i = 0; i < pathItems.length; i++) {
if (i == pathItems.length - 1) {
//This is final node,set value directly
// console.log('~~~~~~~~')
// console.log(temp)
// console.log(i)
// console.log(pathItems[i])
// console.log(value)
temp[pathItems[i]] = value
break;
}
if (!temp[pathItems[i]]) {
//Path item does not existed,create
temp[pathItems[i]] = {}
}else{
if (force && (typeof temp[pathItems[i]])!='object'){
//If force create,try to create or modify to object
temp[pathItems[i]] = {}
}
}
//
temp = temp[pathItems[i]];
}
//
return data;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。