我有一个表,其中每个元素(表格行)都有一个布尔字段,模型,天气问题是否已解决。我想要一个按钮来打开和关闭,以显示已经解决的元素'并且'未解决的'。
在表格行中,它可以正常添加ng-show来过滤这个:
<tr ng-show="problem.solved === false" ng-repeat="problem in filtered...
在控制器中,我添加了一个切换功能:
$scope.toggleSolved = function() {
if ($scope.solvedStatus === "problem.solved === false") {
$scope.solvedStatus = "problem.solved === true";
} else {
$scope.solvedStatus = "problem.solved === false";
}
};
以及保存此值的变量:
$scope.solvedStatus = "problem.solved === true";
然后我在表格行中使用该变量,如下所示:
<tr ng-show="{{solvedStatus}}" ng-repeat="problem in filtered
然后显示带有变量值的表格行,并使用如下按钮切换此变量值:
<button ng-click="toggleSolved()" type="button" class="btn btn-primary" >Show solved</button>
单击按钮时,变量会正确更改其值,但表格不会更改。我已尝试在切换功能结束时添加$ scope。$ digest并应用,但收到错误消息:&#39;应用allready进程..&#39;
所以问题是让表更改哪些表行在变量变化时显示。
答案 0 :(得分:0)
ng-show不使用{{}}参数,使用ng-show =&#34; solveStatus&#34;
和!为什么你的控制器中的布尔值被写为字符串......
$scope.solvedStatus = "problem.solved === false";
您认为这会带来什么回报?设置布尔值或任何变量时,你可以使用一个&#34; =&#34; problem.solved = false ....