Food in foodslist
。每个食物都有一个复选框。
我已在控制器中编写了一个ng-click功能,以便在检查时将食物添加到数组favourites
,如果未选中则将其删除。这有效。然后,我使用相同的模板打印food in favourites
。
$scope.toggleFavourite = function (food) {
if (food.favourite === true) {
$scope.favourites.push(food);
} else if (food.favourite === false) {
$scope.favourites.splice($scope.favourites.indexOf(food), 1);
}
}
问题1:这是一个合适的地方吗?" Angular"解决这个问题的方法?
问题2:我想创造一个完美的镜子"在原始列表中的项目与收藏夹列表中的项目之间 - 在收藏夹上更改的所有输入都会反映在原始列表中,反之亦然。但默认情况下不会检查收藏夹,即使" ng-checked" =" {{food.favourite}}",等于" true"为收藏夹。
如何确保始终检查此复选框中的收藏夹中的食物项目?
-
更新
In the first Plunkr,“收藏夹”滑块可以反映原始滑块,而无需执行任何其他工作 - 元素的$$hashKey
部分仍然相同。
然而,在我的实际实现中,Food内容不断通过Ajax重新加载。因为$$hashKey
不同,所以"连接"元素的值之间丢失了。
Here's a 2nd Plunkr loading the content via Ajax so that the input values are not connected.
我正在寻找一种有效的方法来监视收藏夹和食物中食物的输入变化,基于稳定的东西(例如food.uid)。如果uid = X的食物的一个实例更新了值,则另一个实例将更新以反映这一点。
我该怎么做?
答案 0 :(得分:1)
在foodtemplate.html
中,您有ng-checked="{{ food.favourite }}"
个收藏夹复选框而不是ng-checked="food.favourite"
我不确定我是否理解更新中的问题。