我想知道包含几个单选按钮和复选框以及控制页面部分可见性的其他内容的简单页面的最佳做法。
我从
开始<div ng-if="radio1==3 || !button2" ....>
并立即开始讨厌它。 This page提倡反对在视图中使用函数,实际上我稍后需要表达式,所以我应该使用像
这样的东西<div ng-if="visible1" ....>
并相应地更新visible1
。我试过了
watch("radio1", function() {
$scope.visible1 = $scope.radio1 == 3 && !button2;
})
但它没有用,可能是因为变量是标量。 我是对的吗?
我将$scope.radio
替换为$scope.my_wonderful_model_aggregate.radio
并且有效,但输入的内容太多了。
向所有按钮添加ng-click="updateVisible1();"
也可以,但我可以使用jQuery。我想这是最有效的解决方案,但速度在这里并不重要。而且它很容易被遗忘,感觉非陈述性且非常多余。
在我的情况下,编写一个基于其他范围变量更新所有“可见*”变量的函数很容易,感觉很好。该函数是幂等的,因此可以多次调用它,但如何确保仅在需要时调用它?
有更好的解决方案吗?我正在寻找最佳实践。