【问题标题】:Looping through a javaScript object's array with angular使用 angular 循环遍历 JavaScript 对象的数组
【发布时间】:2015-05-27 22:37:20
【问题描述】:

所以我对编写任何类型的代码都是完全陌生的,我正在尝试使用 AngularJS 构建一个简单的网站,但我在通过指令模板循环访问控制器的对象数组时遇到了问题。我的目标是将每个数组字符串输出到模板中的单独列表项元素中, 例如在控制器中我有

    $scope.items = [
    {
     list: ["1", "2", "3"],
     name: "whatever"
    },
    {
     list: ["4", "5", "6", "7", "8"],
     name: "whatever2"
    }]

在指令模板中我写了这样的东西

    <h1>{{ directive.name }}</h1>
    <ul id= "items"></ul>
    <script>
            for (var i = 0; i < directive.list[].length; i++) {
                  document.getElementById("items").innerHTML = 
                   "<li>{{" + directive.list[i] + "}}</li>";
            };
    </script>

名称对象使用模板在index.html 中正确检索,但列表对象不会输出数组,尽我所能,尝试故障排除以使其正确,但我似乎无法弄清楚,需要帮助: (希望我说得够清楚,这是我第一次尝试创建任何东西,但仍在尝试熟悉所有行话。

【问题讨论】:

  • 我认为你需要重复两次...

标签: javascript arrays angularjs


【解决方案1】:

这是一个镜头:

<div ng-repeat="i in items">
   <h1>{{ i.name }}</h1>
   <ul>
     <li ng-repeat="item in i.list">{{i}} </li>
   </ul>
</div>

以及描述:

基本上,您希望遍历数组&lt;div ng-repeat.. 中的所有项目,然后为每个要创建的项目 &lt;ul&gt;

【讨论】:

  • 谢谢,只是我编写了一个单独的指令文件并将其链接到模板以编写 HTML 标签,这样我就可以将对象从控制器移动到 JSON 文件并在线上传一旦完成。尝试不同的东西,也许会超越自己
【解决方案2】:

很简单——用这个替换你的&lt;script&gt;

<ul>
    <li ng-repeat="item in items">{{ item.name }}
        <ul id="items">
            <li ng-repeat="list_item in item.list">{{ list_item }}</li>
        </ul>
    </li>
</ul>

【讨论】:

    猜你喜欢
    • 2019-12-16
    • 2015-10-15
    • 1970-01-01
    • 2015-06-09
    • 1970-01-01
    • 2019-06-01
    • 2018-08-26
    • 2018-07-02
    相关资源
    最近更新 更多