Я использую angularfire для управления некоторыми онлайн-курсами, и у меня есть курсы, в которых есть много лекций. Я вложил лекции в курсы. У меня есть фабрика, которая успешно разрешает операции CRUD на моих курсах, но для моих лекций я могу делать все. кроме удалить. Может ли кто-нибудь сказать мне, что я делаю неправильно с удалением? Спасибо!
Курсы Фабрика:
angular.module('rutileApp')
.factory('Course', function ($firebaseArray, $firebaseObject, Ref) {
var courses = $firebaseArray(Ref.child('courses'));
var Course = {
all: courses,
create: function (course) {
return courses.$add(course);
},
get: function(courseId) {
return $firebaseObject(Ref.child('courses').child(courseId));
},
delete: function(course) {
return courses.$remove(course);
}
};
return Course;
});
Лекции Фабрика:
angular.module('rutileApp')
.factory('Lecture', function ($firebaseArray, $firebaseObject, Ref) {
var Lecture = {
create: function (courseId, lecture) {
return $firebaseArray(Ref.child('courses').child(courseId)
.child('lectures')).$add(lecture);
},
get: function(courseId, lectureId) {
return $firebaseObject(Ref.child('courses')
.child(courseId).child('lectures').child(lectureId));
},
fromCourse: function(courseId) {
return $firebaseArray(Ref.child('courses')
.child(courseId).child('lectures'));
},
delete: function(courseId,lecture) {
return $firebaseArray(Ref.child('courses').child(courseId)
.child('lectures')).$remove(lecture);
}
};
return Lecture;
});
Курсы управления:
$scope.deleteCourse = function (course) {
Course.delete(course);
};
Контроллер курса:
$scope.deleteLecture = function (courseId, lecture) {
Lecture.delete(courseId, lecture);
};
курсы Вид:
<table class="table table-striped">
<thead>
<tr>
<th></th>
</tr>
</thead>
<tbody>
<tr ng-repeat="course in courses">
<td>
<button class="btn btn-primary"
ng-really-click="deleteCourse(course)"
ng-really-message="Are you sure?">
Delete
</button>
</td>
</tr>
</tbody>
</table>
Course Вид:
<table class="table table-striped">
<thead>
<th></th>
</thead>
<tbody>
<tr ng-repeat="lecture in lectures">
<td>
<button class="btn btn-primary"
ng-really-click="deleteLecture(course.$id, lecture)"
ng-really-message="Are you sure?">
Delete
</button>
</td>
</tr>
</tbody>
</table>
Это также происходит, если я deleteLecture (курс $ ID, лекционный $ ID..).
This is the code for ng-really if you are curious.
Это ничего не значит? Любые ошибки? –
Whyyyyyeeeee возьмите красивую модель в реальном времени, такую как Firebase, и превратите ее в сервис CRUD? Мои глаза. Кроме того, просто верните экземпляр $ firebaseArray, у которого уже есть все методы, которые вы его обернули для создания. $ add, $ remove, $ getRecord. – Kato