Поэтому я довольно новичок в обеих этих технологиях. Мой план состоял в том, чтобы реализовать проект Peepcode Tunes, который они сделали с Backbone (https://github.com/philipkobernik/backbone-tunes) с помощью MeteorJS, а затем попытаться реализовать его с помощью MeteorJS с помощью AngularJS добавить. Кто-то уже сделал это всего лишь в Angular: https://github.com/angular/peepcode-tunes
Большинство вещей прошли довольно гладко. Вы можете видеть, что у меня есть до сих пор:
Только Метеор: https://github.com/Jonovono/Meteor-peepcode-tunes Meteor и AngularJs: https://github.com/Jonovono/Meteor-angular-peepcode-tunes
Мне очень нравится работать с Angular и быть в состоянии передать вещи из представления, например:
ng-click="pl.add(album)">
Что кажется более сложным при использовании Meteor.
Однако у меня один вопрос. Скажем, я хочу сохранять плейлист каждый раз, когда альбом добавляется/удаляется. Так что, если страница обновлена, она все еще есть. Я не знаю, как это сделать, и при использовании AngularJS с Meteor я смущен, как это сделать.
Прямо сейчас при использовании Angular и Meteor я делаю что-то вроде этого:
$scope.Playlist = new Meteor.AngularCollection("playlist", $scope);
$scope.playlist = $scope.Playlist.findOne({});
$scope.pl.add = function(album) {
if ($scope.playlist.indexOf(album) != -1) return;
$scope.playlist.push(album);
$scope.playlist.$save();
};
Однако это, похоже, не сохраняет его в базе данных. Но если бы я сделал что-то вроде:
album.title = "CHANGED"
album.$save()
Кажется, он сохранит это в базе данных.
Я уверен, что я просто пропустил что-то маленькое в отношении Meteor или AngularJS, добавив к нему. Любое просветление было бы удивительным!