如何将Angular模型数据恢复为大量DOM元素?

时间:2013-10-24 07:43:53

标签: javascript angularjs dom data-binding

我正在开发一个日历应用程序,为方便起见,我在Sinatra应用程序中渲染(较大的)DOM。只要您点击日历中的某一天,该日就会在模型中切换为“已标记”。

这很简单,没有太多代码:

<body ng-controller="CalendarCtrl" ng-click="toggle_day($event)">

CalendarCtrl

$scope.toggle_me = function($event) {
  var target = angular.element($event.target);
  if (target.attr("data-date")) {
    $scope.toggle(target.attr("data-date"));
  }
}

$scope.toggle = function(date) {
  $scope.days[date] = 1 - ($scope.days[date] | 0);
}

我遇到的问题是将数据恢复到DOM元素。我想在模型中标记的所有日子中添加一个“活动”类。

我可以用繁琐的方式做到这一点:

<td data-date="20130101" ng-class="'active' if day is marked">1</td>

(不要介意ng-class表达式中的伪代码),但我必须在365天内完成此操作。呃。

我觉得自定义指令可以解决这个问题,但我不知道如何继续。这个问题还有其他解决办法吗?

0 个答案:

没有答案