Angular:访问数据

时间:2016-03-15 08:45:36

标签: javascript angularjs controller

刚开始学习棱角分明,此刻我很难过。

我不明白angular如何访问DOM数据。

在所有示例中,我都看到数据正在控制器中初始化:

phonecatApp.controller('PhoneListCtrl', function ($scope) {
  $scope.phones = [
    {'name': 'Nexus S',
     'snippet': 'Fast just got faster with Nexus S.'},
    {'name': 'Motorola XOOM™ with Wi-Fi',
     'snippet': 'The Next, Next Generation tablet.'},
    {'name': 'MOTOROLA XOOM™',
     'snippet': 'The Next, Next Generation tablet.'}
  ];
});

如果我有一个表格已经从其他来源填充​​,例如。

<table>

    <tr>
        <td> John </td>
        <td> johnson </td>
        <td> 30 </td>
    </tr>

    <tr>
        <td> David </td>
        <td> Davidson </td>
        <td> 23 </td>
    </tr>

    ...

</table>

假设我想在用户点击某个按钮时对这些表行(例如,过滤其中一些行)执行某些操作。如何获取控制器中表格中的所有数据。

我可以在转发器上应用过滤器,如教程

<li ng-repeat="phone in phones | filter:query">
   {{phone.name}}
   <p>{{phone.snippet}}</p>
</li>

但我没有像教程那样从控制器加载数据。就我而言,它已经存在了。我只需要操纵它。怎么样?

2 个答案:

答案 0 :(得分:4)

简单的答案是,你不能。 Angular只能操纵从控制器内部绑定到$ scope的数据(或使用ng-init,但控制器使其更容易)。

答案 1 :(得分:1)

Angular不访问DOM来检索数据,它访问您传递给它的数据(通常在控制器内)并使用它来生成DOM。