gpt4 book ai didi

javascript - AngularJS - 当它的键在另一个范围内为真时更改范围值

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:56:20 27 4
gpt4 key购买 nike

我有一个像这样的 ng-repeat

<li ng-repeat="car in cars">
<p>{{car.model}}</p>
<span ng-show="car.check">🗸</span>
<span ng-show="!car.check">X</span>
</li>

基于这个$scope.cars

$scope.cars=[
{'model':'Ford','check':true},
{'model':'Honda','check':true},
{'model':'Ferrari','check':true}
];

所以当checktrue时显示一个🗸,为false时显示一个X

我还有另一个 $scope.filter(我将其用于其他目的,但为了简单起见,我将只写它的内容)

$scope.filter = {
"producers": {
"Ford": true,
"Honda": true,
"Ferrari": false
}
}

我想要的是每当我更改 $scope.filter 值时,该更改将反射(reflect)在 $scope.cars 中(所以在这个例子中,如果filter.producers.Ferrari:false$scope.cars中对应的元素也会自动变为'check':false

您可以查看 jsfiddle here提前致谢!

编辑:正如 RipTheJacker 所说,问题是关于如何创建一个函数来根据过滤器值更新汽车检查值。

最佳答案

更新

我错过了更新值的原始要求。最简单的方法是从您的范围观察 filter 模型:

$scope.$watch("filter", function(nv,ov){
angular.forEach($scope.cars, function(car){
car.check = nv.producers[car.model]
})
}, true)

关于javascript - AngularJS - 当它的键在另一个范围内为真时更改范围值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40891952/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com