angularjs - Firebase.push 失败 : first argument contains an invalid key ($$hashKey)

标签 angularjs firebase

我最近开始学习 AngularJS+Firebase。我正在尝试在我的 firebase 中写一个像这样的对象:

{
    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": "ім'я?(не фамілія)" }]
    ]
}

带线:
lessondata.add($scope.topic);

其中“类(class)数据”是使用 angularFireCollection() 和 $scope.topic 创建的服务 - 绑定(bind)到我的 UI 的对象。
但出现以下错误:
Firebase.push 失败:第一个参数在属性“say.0.0”中包含无效键 ($$hashKey)。键必须是非空字符串,并且不能包含“.”、“#”、“$”、“/”、“[”或“]”

据我了解,Firebase 不允许使用 0 作为键,即使它是附加数组中的键,零键是自然的。那么我应该在一些硬编码实例中更改我的对象结构还是我错过了什么?提前致谢!

最佳答案

我想在这里抛出另一个更简单的答案,只需使用 track by在你的重复。它将摆脱 $$hashKey造成如此多悲伤的属性。

<div ng-repeat="item in items track by $index">{{item.name}}</div>

关于angularjs - Firebase.push 失败 : first argument contains an invalid key ($$hashKey),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17680131/

相关文章:

生产中的数据库模式更新

javascript - Controller 中两个变量之间的差异

javascript - 在 AngularJS 中使用 Controller 手动加载模板

javascript - $resource 删除功能没有按预期工作?

c# - 参数未从 $http.post 传递到 api Controller

javascript - 如何在本地测试 firebase onCall()?

java - Firebase 数据库异常 : Failed to convert value of type java. lang.Long 到字符串

javascript - Ng-model 直到点击页面上的某个地方才显示更新的值

java - 匿名身份验证注销后 FirebaseUser 不为 null

javascript - AngularJS Firebase注销用户不起作用