是否可以从HTML而不是JavaScript初始化Angular中的数据绑定?

时间:2014-01-09 21:26:26

标签: angularjs data-binding angularjs-ng-repeat

我的意思是,说我有这个HTML:

<ul ng-controller="ContactsCtrl">
  <li ng-repeat="contact in contacts">
    <div class="name">{{name}}</div>
    <div class="email">{{email}}</div>
  </li>
</ul>

如果我从JavaScript初始化contacts集合,那么这很好用。

app.controller('ContactsCtrl', ['$scope', function($scope) {
  $scope.contacts = [
    { name: 'Dan', email: 'dan@example.com' },
    { name: 'Bob', email: 'bob@example.com' }
  ];
}]);

相反,如果我想从HTML端初始化集合的内容,该怎么办?类似的东西:

<ul ng-controller="ContactsCtrl" ng-model="contacts">
  <li>
    <div class="name" ng-bind="name">Dan</div>
    <div class="email" ng-bind="email">dan@example.com</div>
  </li>
  <li>
    <div class="name" ng-bind="name">Bob</div>
    <div class="email" ng-bind="email">bob@example.com</div>
  </li>
</ul>

然后从JavaScript中我会根据我在HTML中的内容初始化$scope.contacts

这可能吗?

2 个答案:

答案 0 :(得分:2)

你可以在你的html中做一个ng-init=""来初始化一个或多个变量,但这似乎不是你的要求。为什么你想要你的第二个例子?你想用它做什么?

答案 1 :(得分:0)

而是使用jQuery并解析HTML DOM,如果你有至少... 500条记录,其他方式是“复制和粘贴” - 它会更快。

以下是“如何运作”的简短信息 Tutorial