【问题标题】:How to use ng-repeat without specific name in AngularJs [duplicate]如何在AngularJs中使用没有特定名称的ng-repeat [重复]
【发布时间】:2014-09-09 00:54:35
【问题描述】:

我正在使用 AngularJS 开发网站。

我从服务器抓取了 json 数据。我需要把它展示在桌子上。

Json数据格式为

  { 
    {"a" :1,"b": 2,"c":3}, 
    {"a" :3,"b": 4,"c":5}, 
    {"a" :1,"b": 2,"c":3}
  }

问题是每个括号的名称; a, b,c 是来自服务器的动态数据,以便服务器人员可以更改名称。

这是我的伪码

    <tr ng-repeat = "jsonObj in jsonArray"> 
     <td ng-repeat = "name in jsonObj">{{name}} </td>
  </tr>

它不起作用。我想我知道什么是行不通的。但我想不出如何改变 不知道 json 数组的名称。
由于 a、b、c 是动态的,我不能只输入 {{jsonObj.a}} {{jsonObj.b}}

我希望任何人都可以帮助我解决这个问题。 谢谢

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    使用以下格式:

    ng-repeat="(key,value) in myObj"
    

    这意味着您只需执行{{key}}{{value}} 就可以很容易地分别显示值和键

    <tr ng-repeat="obj in jsonArray">
      <td ng-repeat="(key,val) in obj ">{{val}}</td>
    </tr>
    

    有关 ng-repeat 可以采取的不同形式的更多详细信息,请参阅https://docs.angularjs.org/api/ng/directive/ngRepeat

    【讨论】:

    • 我试过了。我试过 {{value}} .. 不起作用
    • 数据源是数组还是对象?
    • 这是不对的,OP 想重复 &lt;td&gt; 的使用 (key,value)
    • @user1979727 外括号在您的数据中应为[],否则无效。需要使用与&lt;tr&gt; 相同的重复,然后在答案中使用&lt;td&gt; 重复
    • @charlietfl 谢谢,进行了适当的编辑
    【解决方案2】:

    我认为你的意思是你想要基于 json 数据的行和单元格。

    这很简单,但你可能只需要一个类似的数组。

     $scope.items =  [ 
      {a:1,b: 2,c:3}, 
      {a:3,b: 4,c:5}, 
      {a:1,b: 2,c:3}
    ];
    

    而不是一个对象。

    这是fiddle

    【讨论】:

      猜你喜欢
      • 2012-06-12
      • 1970-01-01
      • 1970-01-01
      • 2016-10-07
      • 2014-04-14
      • 1970-01-01
      • 2021-01-04
      • 1970-01-01
      • 2015-02-15
      相关资源
      最近更新 更多