如何通过Angular Js显示n层嵌套的json对象?

运动

我有一个使用ul的菜单li我想通过Angular和JSON对象显示它。

我尝试这样做,ng-repeat但是我的问题是,如果我的对象有20层嵌套对象,或者另一方面,它有n层嵌套子对象,如何显示呢?

html中的代码

<ul>
  <li ng-repeat="item in model">
    {{item.text}}
  </li>
</ul>

而我的json对象是:

var model = [
    { text: "one", link: "#" },
    { text: "tow", link: "#" },
    {
        text: "three",
        link: "#",
        children: [
            { text: "four", link: "#" },
            { text: "five", link: "#", children: [{text:"nine", link:"#"}] },
            { text: "six", link: "#" }
        ]
    }];

$scope.model = model;
pachonjcl

您可以在控制器上创建html,然后使用ng-bind-html将其绑定到视图

我建议使用递归方法:

'use strict';

angular.module('yourApp')
.controller('FooCtrl', function($scope) {
    var myModel = [
        { text: "one", link: "#" },
        { text: "tow", link: "#" }, 
        {
            text: "three",
            link: "#",
            children: [
                { text: "four", link: "#" },
                { text: "five", link: "#", children: [{ text: "nine", link: "#" }] },
                { text: "six", link: "#" }
            ]
        }
    ];
    var createHtml = function(model) {
        var html = '';
        for(var i = 0 ; i < model.length ; i++) {
            var li = model[i];
            html += '<li>';
            html += li.text;
            if(li.children) {
                html += '<ul>';
                html += createHtml(li.children);
                html += '</ul>';
            };
            html += '</li>';
        }
        return html;
    }
    $scope.myHtml = '<ul>'+createHtml(myModel)+'</ul>';
});

您可以使用以下命令在您的视图中调用它

<div ng-bind-html="myHtml">   
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Angular:我如何通过对象数组通过属性过滤Rxjs?

在Angular JS中获取嵌套的JSON对象

如何通过Ajax访问嵌套的JSON对象?

Swagger-1.2:如何在模型架构中显示n嵌套的JSON对象

如何在Angular 2中通过id获取.json对象?

如何通过*ngFor在angular 2 typescript前端显示json数组

如何从json对象在angular js中显示子文档值?

如何在Angular Js中通过Ajax传递JSON数据

Angular.js图片上传显示空的嵌套对象

Angular,如何订阅嵌套的 JSON 对象?

如何通过Angular中的嵌套指令向下传递包含?

如何通过对象的数字键反转Angular ngRepeat的顺序

如何通过 Angular/TypeScript 中的单击事件循环遍历对象

Angular2/Typescript:如何通过管道获取对象数组?

如何通过 Angular 和 Spring boot 显示图像文件?

如何使用 Angular 通过 URL 显示 API 的图像

如何通过 Angular-Service 显示引导模式

使用Angular.js解析JSON中的嵌套对象数组

如何使用angular js通过标头传递authtoken

如何通过angular js传递JsonWebToken x-access-token

如何通过 Python 访问 JSON 中的嵌套对象

如何通过嵌套的 JSON 对象创建动态内容循环?

如何通过嵌套对象JSON使用* ngFor进行迭代

通过 Angular 在 json 对象中显示列表的最佳方式

(Angular JS)如果响应是JSON对象数组,如何通过传递参数过滤$ http.get?

如何使用React JS从JSON文件获取嵌套对象

如何在react js中循环遍历json嵌套对象

如何在Angular中一一显示嵌套对象

如何通过HTTP Get请求使用Express,Node JS和Angular返回对象数组