这是我的控制器错误是无法读取属性然后未定义。它控制台记录$ scope.newCat,然后分解。我已经有一段时间了,并且无法解决这个问题。
=============================================== ===================================
app.controller('CatCtrl', function ($scope, $location, Cat) {
$scope.cats = Cat.all;
$scope.newCat = {note: '', 'title': ''};
$scope.submitCat = function () {
console.log($scope.newCat);
Cat.create($scope.newCat).then(function (ref) {
$scope.newCat = {note: '', title: '', date: ''};
});
};
$scope.deleteCat = function (catId) {
Cat.delete(catId);
};
});
=============================================== ===================================
'use strict';
app.factory('Cat',
function ($firebase, FIREBASE_URL, User) {
var ref = new Firebase(FIREBASE_URL + 'cats');
var cats = $firebase(ref);
var Cat = {
all: cats,
create: function (cat) {
if (User.signedIn()) {
var user = User.getCurrent();
cat.owner = user.username;
return cats.$add(cat).then(function (ref) {
var catId = ref.name();
user.$child('cats').$child(catId).$set(catId);
return catId;
});
}
},
find: function (catId) {
return cats.$child(moodId);
},
delete: function (catId) {
if (User.signedIn()) {
var cat = Cat.find(catId);
cat.$on('loaded', function () {
var user = User.findByUsername(cat.owner);
cats.$remove(catId).then(function () {
user.$child('cats').$remove(catId);
});
});
}
}
};
return Cat;
});
答案 0 :(得分:0)
在create方法中,如果您未登录,undefined
为User.signedIn()
,则返回false
的一种可能性。您确定已登录,否则将解释此问题。