Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JSON数组中的动态菜单_Javascript_Angularjs_Json - Fatal编程技术网

Javascript JSON数组中的动态菜单

Javascript JSON数组中的动态菜单,javascript,angularjs,json,Javascript,Angularjs,Json,我是angularjs新手,我想显示json数组中的动态菜单 { “页数”:[{ “PageId”:1, “页面标题”:“主页”, “页面内容”:“主页内容”, “菜单类型”:“主菜单”, “父菜单”:空, “页面状态”:“活动”, “页面类型”:true }, { “PageId”:2, “页面标题”:“关于”, “页面内容”:“关于内容”, “菜单类型”:“子菜单”, “家长菜单”:主页, “页面状态”:“活动”, “页面类型”:true }, { “PageId”:3, “页面标题”:“

我是angularjs新手,我想显示json数组中的动态菜单

{
“页数”:[{
“PageId”:1,
“页面标题”:“主页”,
“页面内容”:“主页内容”,
“菜单类型”:“主菜单”,
“父菜单”:空,
“页面状态”:“活动”,
“页面类型”:true
}, {
“PageId”:2,
“页面标题”:“关于”,
“页面内容”:“关于内容”,
“菜单类型”:“子菜单”,
“家长菜单”:主页,
“页面状态”:“活动”,
“页面类型”:true
}, {
“PageId”:3,
“页面标题”:“联系人”,
“页面内容”:“联系我们内容”,
“菜单类型”:“主菜单”,
“父菜单”:空,
“页面状态”:“活动”,
“页面类型”:true
}]

}
这是一个函数,它将在您的菜单上进行迭代,并将其转换为嵌套的html列表,您可以将其附加到网页中的元素

const菜单={
“页数”:[
{“PageId”:1,“PageTitle”:“Home”,“ParentMenu”:null},
{“PageId”:2,“PageTitle”:“关于”,“父菜单”:“主”},
{“PageId”:3,“PageTitle”:“Contact”,“ParentMenu”:null},
{“PageId”:4,“PageTitle”:“我们的故事”,“家长菜单”:“关于”},
{“PageId”:5,“PageTitle”:“我们的未来”,“家长菜单”:“关于”},
]
}
//创建元素的抽象方法
const createElement=(类型、类名、文本)=>{
const el=document.createElement(类型)
el.className=className
如果(文本){
el.appendChild(document.createTextNode(text))
}
返回el
}
//将菜单打印为树
const createMenu=(menu,parentName=null,level=0)=>
菜单.减少((ul,项目)=>{
if(item.ParentMenu===parentName){
const li=createElement(`li`、`menu\u item`、item.PageTitle)
ul.儿童(李)
//递归调用自身,将parentName更改为当前页面标题
const children=createMenu(菜单,item.PageTitle,级别+1)
if(childrends.childNodes.length){
李.儿童(儿童)
}
}
返回ul
},createElement(`ul`,`menu\u列表级别--${level}`)
const app=document.querySelector(`app`)
app.appendChild(
createMenu(menu.Pages,null)
)
console.log(app.innerHTML)

json数组周围的代码是什么?html和js?示例代码段是否可能在代码段编辑器中运行?到目前为止您尝试了什么?你的模板看起来怎么样?控制器?您提供的信息不足,您需要更改JSON数组格式。子菜单数组应位于主菜单数组内。比如说。”About'应该在'Home'对象中回答@synthet1c.的菜单库有多少层。。我希望菜单是这样的,你能帮我吗?