У меня есть простое приложение для заметок, которое показывает список заметок и активную, выбранную заметку в текстовой области. Я хочу иметь возможность выбирать заметку в списке и редактировать ее.
В моем контроллере у меня есть «активная» переменная, которая указывает на элемент в списке заметок. Используя только AngularJS, это работает нормально. Если я добавлю AngularFire, активный элемент больше не будет подключен всякий раз, когда я изменяю содержимое в текстовой области. Плохо ли хранить эту активную ссылку?
Вот соответствующая часть контроллера:
var notesApp = angular.module('notesApp', ['firebase']);
function NotesCtrl($scope, angularFire) {
var fireBaseUrl = new Firebase('https://mynotesapp.firebaseio.com/notes');
$scope.notes = [];
$scope.select = function (note) {
$scope.active = note;
};
angularFire(fireBaseUrl, $scope, 'notes').then(function () {
$scope.active = $scope.notes[0];
});
}
И HTML:
<ul>
<li ng-repeat="note in notes" ng-class="{active: note == active}">
<a href="#" ng-click="select(note)">{{ note.title }}</a>
</li>
</ul>
<textarea ng-model="active.body"></textarea>
Полный пример находится здесь: http://jsfiddle.net/4zsMH/.