【发布时间】:2015-11-13 22:15:05
【问题描述】:
我已经按照 Packt Publishing 创建了一个简单的项目组合,目前正在获得:
错误:Firebase.child 失败:第一个参数是无效路径:“未定义”。路径必须是非空字符串,并且不能包含“.”、“#”、“$”、“[”或“]”
在projects.tpl.html页面上,它显示项目以及关键字,标题链接到单个项目。
<a href="#/projects/{{id}}">{{project.title}}</a>
转到显示标题和关键字的页面
projects.svc.js
'use strict';
app.factory("projectSvc", ['FIREBASE_URI', '$firebaseArray', '$firebaseObject',
function(FIREBASE_URI, $firebaseArray, $firebaseObject) {
var projectsUri = FIREBASE_URI + '/projects';
var projectsRef = new Firebase(projectsUri);
var projects = $firebaseArray(projectsRef);
var getProjects = function () {
return projects;
};
var getProject = function (index) {
var key = projects.$keyAt(index);
var projectRef = projectsRef.child(key);
return $firebaseObject(projectRef);
};
return {
getProjects: getProjects,
getProject: getProject
}
}]);
project.ctrl.js
'use strict';
app.controller('ProjectCtrl', ['$scope', '$routeParams', 'projectSvc',
function ($scope, $routeParams, projectSvc) {
var hasAnError = false;
$scope.hasError = function () {
return hasAnError;
};
if ($routeParams.projectIndex !== null) {
var index = parseInt($routeParams.projectIndex);
if (!isNaN(index)) {
projectSvc.getProject(index).$bindTo($scope, "project");
}
else {
hasAnError = true;
}
}
}
]);
有什么想法吗?谢谢!
【问题讨论】:
标签: angularjs angular-ui-router firebase angularfire