表行上的角度ng-show未更新

时间:2015-04-13 14:11:14

标签: angularjs

我有一个表,其中每个元素(表格行)都有一个布尔字段,模型,天气问题是否已解决。我想要一个按钮来打开和关闭,以显示已经解决的元素'并且'未解决的'。

在表格行中,它可以正常添加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;

所以问题是让表更改哪些表行在变量变化时显示。

1 个答案:

答案 0 :(得分:0)

ng-show不使用{{}}参数,使用ng-show =&#34; solveStatus&#34;

和!为什么你的控制器中的布尔值被写为字符串......

        $scope.solvedStatus = "problem.solved === false";

您认为这会带来什么回报?设置布尔值或任何变量时,你可以使用一个&#34; =&#34; problem.solved = false ....