Gần đây tôi đã bắt đầu học AngularJS + Firebase. Tôi đang cố gắng để viết trong căn cứ hỏa lực của tôi một đối tượng như thế này:
{
title: "Personal Information",
say: [
[{ "eng": "What's", "ukr": "Що є" }, { "eng": "your", "ukr": "твоє" }, { "eng": "surname?", "ukr": "прізвище?" }],
[{ "eng": "Smith", "ukr": "Сміт" }],
[{ "eng": "What's", "ukr": "Що є" }, { "eng": "your", "ukr": "твоє" }, { "eng": "first", "ukr": "перше" }, { "eng": "name?", "ukr": "ім'я?(не фамілія)" }]
]
}
với dòng:
lessondata.add($scope.topic);
nơi 'lessondata' là dịch vụ tạo ra với angularFireCollection() và $ scope.topic - đối tượng ràng buộc vào giao diện người dùng của tôi. Nhưng gặp lỗi sau: Firebase.push không thành công: đối số đầu tiên chứa khóa không hợp lệ ($$ hashKey) trong thuộc tính 'say.0.0'. Phím phải là các chuỗi không rỗng và không thể chứa "", "#", "$", "/", "[" hoặc "]"
Như tôi hiểu căn cứ hỏa lực không cho phép sử dụng 0 làm khóa ngay cả khi đó là khóa trong một mảng được đính kèm mà khóa 0 là tự nhiên. Vì vậy, tôi nên thay đổi cấu trúc đối tượng của tôi trong một số trường hợp hardcoded hoặc tôi bỏ lỡ một cái gì đó? Cảm ơn trước!
Cool hack! Cảm ơn nhiều! – user2587800
angular.copy() cũng nên loại bỏ thuộc tính $$ hashKey. – Anant
Đẹp. Điều này đã giúp tôi khi lặp lại hiển thị dữ liệu với ng-repeat trước khi đẩy dữ liệu đến fb. Nó khá là hackish. =/ – Swordfish0321