如何在AngularJS中嵌套大括号的模型分隔符?

时间:2014-05-29 17:07:59

标签: angularjs

我有一个应用程序,用户可以从下拉列表中选择数据库表名,应用程序向数据库发出http调用,检索表列名称以及这些列中的数据,并将此数据返回给脚本。到现在为止还挺好。我的代码设置为处理这样​​一个事实:我对表格一无所知 - 列名称,也没有表格的列数。我将此数据转储到名为tableData的对象中,其中tableData.columns包含所有列名称,tableData.results包含数据库中这些列的行中包含的数据。此对象可能如下所示:

{ "columns": [{ "name": "lo_code"}, 
              { "name": "lo_desc"},
              { "name": "lo_inactive"}],
  "results": [{ "lo_code": "7" , "lo_desc": "Staff Area 7" , "lo_inactive": "0"},
              { "lo_code": "12", "lo_desc": "Staff Area 12", "lo_inactive": "0"},
              { "lo_code": "15", "lo_desc": "Staff Area 15", "lo_inactive": "1"},
              { "lo_code": "M" , "lo_desc": "Miscellaneous", "lo_inactive": "0"}]}

我想要做的是创建一个表,其中包含标题行中的列,然后是下面行中的所有剩余数据。我有以下内容来创建表:

<table>
    <tbody>
        <tr>
            <th ng-repeat="column in tableData.columns">{{column.name}}</th>
        </tr>
        <tr ng-repeat="result in tableData.results">
            <td ng-repeat="column in tableData.columns"> ??????? </td>
        </tr>
    </tbody>
</table>

我不确定如何在td中引用对象数据。我试过了

<td ng-repeat="column in tableData.columns">{{result.{{column.name}}}}</td>

但是这给了我一个意外的令牌错误。我猜我的角度模型分隔符的嵌套不是解决这个问题的方法。

这是一个带有样本对象数据的fiddle。那么,我可以用什么代替???????获取我想要的数据?

1 个答案:

答案 0 :(得分:1)

<td ng-repeat="column in tableData.columns">{{ result[column.name] }}</td>

演示: http://jsfiddle.net/UT8E2/