Я пытаюсь изучить Angular путем преобразования части рабочего кода jQuery/AJAX. Это средство просмотра активности внутри таблицы, которое в основном отображает сообщение с кнопкой "Отметить чтение" или "Отметить непрочитанное" на основе условия. У меня возникла проблема с настройкой текста кнопки на основе activity.seen == 0
.
// html
<div class="table-responsive" ng-controller="Activity">
<table class="table table-bordered table-striped table-hover">
<tbody>
<tr ng-repeat="activity in activities" ng-class="{ 'activity-read': activity.seen == 1 }">
<td><button class="btn btn-default"><span ng-bind="buttonText"></span></button></td>
<td>{{ activity.content }}</td>
</tr>
</table>
</div>
// controller
function Activity($scope, $http, $templateCache)
{
$http.get('/activity/get').success(function(response, status)
{
$scope.activities = response;
angular.forEach($scope.activities, function(activity)
{
$scope.buttonText = activity.seen == 0 ? 'Mark Read' : 'Mark Unread';
});
});
}
Это просто устанавливает buttonText
как бы то ни было последнее значение условного выражения activity.seen
. Итак, как я могу динамически привязывать правильный текст к каждой кнопке строки при начальной загрузке.
Это должно иметь двустороннюю привязку, я думаю, потому что мне также нужно обновить текст кнопки после ее нажатия на основе нового значения activity.seen
, которое будет отправлено методу обновления с помощью $http
.