【发布时间】:2015-11-06 03:00:55
【问题描述】:
我关注了this post
使用 angular 和 firebase achievementsapp.firebaseapp.com 的表单,您可以注册,然后如果您点击绿色加号它应该弹出表单,上传按钮不起作用,当点击添加按钮时它给我这个错误 错误:Firebase.set 失败:第一个参数在属性“achv_img”中包含未定义
控制器代码:
myApp.controller('MeetingsController',
function($scope, $rootScope, $firebase, Uploader,
CountMeetings, FIREBASE_URL) {
var ref = new Firebase(FIREBASE_URL + '/users/' +
$rootScope.currentUser.$id + '/meetings');
var meetingsInfo = $firebase(ref);
var meetingsObj = meetingsInfo.$asObject();
meetingsObj.$loaded().then(function(data) {
$scope.meetings = data;
}); //make sure meetings data is loaded
$scope.addMeeting = function() {
meetingsInfo.$push({
name: $scope.meetingname,
description: $scope.meetingdescription,
achv_type: $scope.achvtype,
achv_date: $scope.achvdate,
achv_img : $scope.achvimg,
date: Firebase.ServerValue.TIMESTAMP
}).then(function() {
$scope.meetingname='';
$scope.achvtype = '';
$scope.meetingdescription='';
$scope.achvdate='';
$scope.achvimg= $scope.meetingsInfoImgData;
});
Uploader.create($scope.meetingsInfo);
$scope.handleFileSelectAdd = function(evt) {
var f = evt.target.files[0];
var reader = new FileReader();
reader.onload = (function(theFile) {
return function(e) {
var filePayload = e.target.result;
$scope.meetingsInfoImgData = e.target.result;
document.getElementById('pano').src = $scope.meetingsInfoImgData;
};
})(f);
reader.readAsDataURL(f);
};
document.getElementById('file-upload').addEventListener('change', $scope.handleFileSelectAdd, false);
}; //addmeeting
$scope.deleteMeeting = function(key) {
meetingsInfo.$remove(key);
}; //deleteMeeting
}); //MeetingsController
【问题讨论】:
-
下面有一些帮助。请注意,StackOverflow 是一个众所周知的低效调试服务。如果您仍然卡住,请考虑在 jsfiddle/jsbin 中设置最小复制(就像我在回答您链接到的问题时创建的那样)并发布该 URL。
标签: javascript angularjs file-upload firebase uploader