刚开始学习棱角分明,此刻我很难过。
我不明白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>
但我没有像教程那样从控制器加载数据。就我而言,它已经存在了。我只需要操纵它。怎么样?
答案 0 :(得分:4)
简单的答案是,你不能。 Angular只能操纵从控制器内部绑定到$ scope的数据(或使用ng-init,但控制器使其更容易)。
答案 1 :(得分:1)
Angular不访问DOM来检索数据,它访问您传递给它的数据(通常在控制器内)并使用它来生成DOM。