javascript - 如何在 angularjs 中将 ng-class 与服务中的 bool 值一起使用?

标签 javascript angularjs ng-class

我想根据我在服务中设置的 bool 值设置一个类。这是我的代码的简化版本(为了便于阅读)。该 bool 值通常由该服务中的许多其他函数设置。

HTML:

<div ng-controller="MainController">
    <div ng-class="{ 'green' : MainController.CustomService.isGreen }">
    </div>
</div>

服务:

App.service("CustomService", function() {
    this.isGreen = true;
})

Controller :

App.controller('MainController', ['$scope', 'CustomService',  function($scope, CustomService) {

}]);

最佳答案

试试这个方法:

App.controller('MainController', ['$scope', 'CustomService',  function($scope, CustomService) {
    $scope.isGreen = CustomService.isGreen;
}]);

HTML:

<div ng-class="{ 'green' : isGreen }">

View 不能直接访问服务。 View 可以访问$scope对象,所以如果你需要 View 中的东西,你应该先写在$scope中。

如果你想跟踪颜色:

App.controller('MainController', ['$scope', 'CustomService',  function($scope, CustomService) {
    $scope.isGreen = function () {
        return CustomService.isGreen;
    };
}]);

和:

<div ng-class="{ 'green' : isGreen() }">

关于javascript - 如何在 angularjs 中将 ng-class 与服务中的 bool 值一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36772476/

相关文章:

javascript - JavaScript 中的 RSA 与 PHP 不同

javascript - 我应该使用 XmlHttpRequest POST 发送额外的 header 吗?

javascript - 带有 showModalDialog 的 Chrome 中的 window.opener.returnValue

javascript - 将指令转换为 typescript 时扩展 $scope

angularjs - 混合使用常规类和 ng-class

javascript - HTML Canvas 宽度

javascript - 当动态添加对象的元素时,我想在 JSON 对象内部循环 |AngularJS

javascript - 将默认选项卡设置为 Angular.js 选项卡

javascript - 根据数组值 angularjs 分配 ng-class 值

javascript - 使用 Angular 空值 0 的 Html5 输入