以下代码段给出了错误:
Households.update({
_id: Meteor.user().profile.myHousehold,
"shoppingList.name" : this.name},
{"$set" : {
"shoppingList.$.checked" : checked
}
});
Run Code Online (Sandbox Code Playgroud)
WOT?我正在通过id更新.作为一种解决方法,我当然可以简单地替换整个阵列shoppingList,但那将是蛮力.
使用具有延迟补偿的复杂更新/删除选择器的正确模式是使用Meteor方法.
共享代码:
Meteor.methods({
setHouseholdChecked: function(shoppingListName, checked) {
check(this.userId, String);
check(shoppingListName, String);
check(checked, Boolean);
Households.update({
_id: Meteor.user().profile.myHousehold,
"shoppingList.name" : shoppingListName
}, {
$set: {
"shoppingList.$.checked" : checked
}
});
}
});
Run Code Online (Sandbox Code Playgroud)
客户代码:
Meteor.call('setHouseholdChecked', this.name, checked);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1376 次 |
| 最近记录: |