0

我有一个元素的部分视图,哪个类应该取决于 $scope 中变量的值:

<a class="btn" ng-class="{'btn-success': led == 'on'}" ng-click="toggleLed()">On</a>      

在控制器中,我使用 $http 加载 led 的初始值:

 $scope.led = 'unknown';       

 $http.get('/green')
        .success(function (data) {                                 
                $scope.led = data;                                  
        });

我的问题是打开页面后导致变量更新但 CSS 类没有。添加 $scope.$apply() 没有帮助(错误:错误:inprog 操作已在进行中)。这种问题有什么解决办法吗?

4

1 回答 1

2

你检查过“数据”的内容吗?

通常 .success 收到响应,数据在 response.data 中。

此外,尝试对 led 值使用布尔值,初始化时为 false(关闭),然后为 true(打开)。这样,您可以使用:

<a class="btn" ng-class="{'btn-success': led, 'btn-error': !led}" ng-click="toggleLed()">On</a>
于 2014-09-21T17:29:58.650 回答