我需要根据标志的选择显示值的总和(与$scope
变量相关)。例如:
- 有4个
$scope
变量(e。如$scope.Var_1
、$scope.Var_2
。..)包含整数值, - 有4个
$scope
变量(例如如$scope.Var_1_Flag
、$scope.Var_2_Flag
。..),其对于上述整数变量中的每一个包含true
或false
。
因此,在我们有:
$scope.Var_1 = 1 ;
$scope.Var_2 = 2 ;
$scope.Var_3 = 3 ;
$scope.Var_4 = 4 ;
$scope.Var_1_Flag = true ;
$scope.Var_2_Flag = true ;
$scope.Var_3_Flag = true ;
$scope.Var_4_Flag = true ;
则会显示**10
**,但如果:
$scope.Var_1_Flag = true ;
$scope.Var_2_Flag = false;
$scope.Var_3_Flag = false;
$scope.Var_4_Flag = true ;
则显示**5
**。
AngularJS是否支持实现这一点的绑定语法?
8条答案
按热度按时间mcdcgff01#
标记:
JS:
检查此http://jsfiddle.net/ananyaojha/ADukg/13641/
csga3l582#
你必须
watch
作用域变量你可以设置更多的监视器,或者将所有的标志变量添加到一个对象中,然后监视这个对象,这样你就不必为每个作用域变量使用不同的回调函数
8yoxcaq73#
创建具有值和标志属性的对象数组。并创建过滤器来检查标志和仅这些值的总和。
kfgdxczn4#
相反,你可以将函数赋值给$scope。变量..使它更容易。.希望这就是你要找的
vddsk6oq5#
在您的控制器中:
在HTML中:
我给你举个例子:
http://jsfiddle.net/ADukg/13643/
vsdwdz236#
pnwntuvh7#
你只需要One $watch来更新sum的值。一起观察所有标志,每当复选框(标志)改变时,总和将自动更新。
gzjq41n48#
我发现了一个惊人的简单的解决方案,完全按照我想要的工作。
下面是控制器中的一段代码:
这里是HTML部分:
随着复选框的更改(选中/未选中),
Total 1:
旁边显示的结果将根据需要自动更新。值
Test_x_Value
是为创建和填充表(使用ng-repeat
)而生成的数据的一部分,因此可以在表的每个单元格中使用。没有过滤器没有手表
谢谢大家的支持:-)。
编辑:
我刚刚完成了这个解决方案的实现,并使用一个包含2,500多个单元格的表对其进行了测试。这个解决方案工作得非常好,包括性能。