2013-05-13 38 views
9

Trong pseudo-code phi angularfire sau tôi sẽ mong đợi để có căn cứ hỏa lực tạo khóa cho các dữ liệu mới được đẩy vào.Tương đương với firebaseRef.push() với angularfire là gì?

var ref = Firebase(...); 
var newref = ref.push({"blah":"blah"}); 
var autoKey = newref.name(); 

tôi cố gắng làm điều tương tự thông qua angularfire với một mô hình ràng buộc nhưng nó chỉ cho tôi lỗi về đối tượng không có phương thức push(), tương tự như this question. Anh ta làm cho nó hoạt động khi kiểu dữ liệu là một mảng.

Làm cách nào để có được hành vi tốt đẹp mà tôi đã thấy trong Firebase thông thường (không angularFire) với các phím tự động cho các đối tượng?

Trả lời

7

Nếu bạn muốn sử dụng một đối tượng và có khóa được tạo tự động, hãy sử dụng phương pháp add trên angularFireCollection. Ví dụ:

function ExampleController($scope, angularFireCollection) { 
    var url = 'https://angularFireExample.firebaseio-demo.com/'; 
    $scope.examples = angularFireCollection(url); 
    $scope.addExample = function(ex) { 
    $scope.examples.add(ex); 
    }; 
} 
+0

Ah, nghe có vẻ hứa hẹn, tôi sẽ cố gắng tối nay. Có một tài liệu tham khảo API cho angularFire khác hơn là nhìn vào mã? –

+3

Đối với bản ghi, mỗi mục kết thúc bằng '$ scope.examples' ở trên sẽ nhận thêm thành viên' $ ref', '$ id' và' $ index' khi chúng được kéo ra khỏi Firebase. Xem lớp 'angularFireItem' được định nghĩa trong [angularFire.js] (https://github.com/firebase/angularFire/blob/gh-pages/angularFire.js). –

+0

Liệu '$ scope.examples' có được đồng bộ hóa với dữ liệu firebase không? – vinesh

Các vấn đề liên quan