将 Firebase 数据添加到 Angular 服务?
Adding Firebase Data to Angular Service?
我正在尝试将我的 Firebase 对象注入服务,以便我可以使用不同的 Angular 控制器来访问 Firebase 对象的副本。
在我的应用程序的先前工作副本中。我只将 Firebase 加载到控制器中:
示例如下:
ToDo.controller('todoController',["$scope","$firebaseArray", function($scope, $firebaseArray, ToDoData){ // injecting AngularFire & ToDoData Service
var myData = new Firebase("https:firebase url goes here"); //create Firebase obj
$scope.todos = $firebaseArray(myData); //Reading Database and adding to todos variable
$scope.historytodos = [{'title': "Old Task", 'done':true, 'timetag':new Date().toString()}];
$scope.addTodo = function(){
var datecreated = new Date().toString();
$scope.todos.$add({'title':$scope.newtodo,'done':false, 'timetag': datecreated}); //push to Array
$scope.newtodo = '';
};
现在我正在尝试重新创建 Firebase 依赖项,但要使用服务。这是我尝试过的服务。
这是错误的
Uncaught ReferenceError: Todo is not defined
我的错误服务示例:
Todo.value('fbURL', "https:firebase") //Firebase URL value service
.service('fbRef',function(fbURL){ //Firebase Data Reference Service
return new Firebase(fbURL);
})
.service('fbArr',function(fbRef){ //Firebase Array service
$scope.todos = $firebaseArray(fbRef);
return $scope.todos;
});
不确定是什么导致了错误,也不太确定如何创建一个服务来保存我的 Firebase 对象。
首先,错误是不言自明的,Todo 未定义。你必须做类似的事情:
var Todo = {fbRef: "https:firebase"};
对于服务,我建议您阅读有关服务和工厂的内容,看看什么最适合您的特定情况,这里是一个简单的示例,说明如何在服务中执行此操作:
.service('fb', function(){
var connection = new Firebase(url);
var todos = $firebaseArray(connection);
this.url = function() { return connection;};
this.todos = function() { return todos;};
});
我正在尝试将我的 Firebase 对象注入服务,以便我可以使用不同的 Angular 控制器来访问 Firebase 对象的副本。
在我的应用程序的先前工作副本中。我只将 Firebase 加载到控制器中:
示例如下:
ToDo.controller('todoController',["$scope","$firebaseArray", function($scope, $firebaseArray, ToDoData){ // injecting AngularFire & ToDoData Service
var myData = new Firebase("https:firebase url goes here"); //create Firebase obj
$scope.todos = $firebaseArray(myData); //Reading Database and adding to todos variable
$scope.historytodos = [{'title': "Old Task", 'done':true, 'timetag':new Date().toString()}];
$scope.addTodo = function(){
var datecreated = new Date().toString();
$scope.todos.$add({'title':$scope.newtodo,'done':false, 'timetag': datecreated}); //push to Array
$scope.newtodo = '';
};
现在我正在尝试重新创建 Firebase 依赖项,但要使用服务。这是我尝试过的服务。
这是错误的
Uncaught ReferenceError: Todo is not defined
我的错误服务示例:
Todo.value('fbURL', "https:firebase") //Firebase URL value service
.service('fbRef',function(fbURL){ //Firebase Data Reference Service
return new Firebase(fbURL);
})
.service('fbArr',function(fbRef){ //Firebase Array service
$scope.todos = $firebaseArray(fbRef);
return $scope.todos;
});
不确定是什么导致了错误,也不太确定如何创建一个服务来保存我的 Firebase 对象。
首先,错误是不言自明的,Todo 未定义。你必须做类似的事情:
var Todo = {fbRef: "https:firebase"};
对于服务,我建议您阅读有关服务和工厂的内容,看看什么最适合您的特定情况,这里是一个简单的示例,说明如何在服务中执行此操作:
.service('fb', function(){
var connection = new Firebase(url);
var todos = $firebaseArray(connection);
this.url = function() { return connection;};
this.todos = function() { return todos;};
});