我有一个简单的笔记应用程序,它在文本区域中显示笔记列表和活动的、选定的笔记。我希望能够在列表中选择一个注释并对其进行编辑。
在我的控制器中,我有一个“活动”变量,它指向笔记列表中的一个项目。仅使用 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/。