使用event.className更改ui-calendar的事件颜色

时间:2014-10-29 12:48:49

标签: javascript css angularjs calendar angular-ui

我是ui-calendar的新手,并且在根据条件在代码中设置事件的className属性时遇到了一些问题。我无法找到像这样使用className的示例,但这是我在项目中尝试的内容:

eventRender: function (event, element) {

    if (event.HighPriority == 1) {
       event.className ='highPriority';
    }

},

在我的css文件中,我有:

.highPriority{
    background-color: red;
    color: white;
}

此行“event.className ='highPriority';”不起作用。有没有人用角度ui日历做类似的事情?任何有关此事的帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

我在GitHub上打开了ui-calendar问题。来自vaHuntsMan的评论之间:

  

eventRender是一个回调。所以你可能正在更改类名   太晚了。尝试在创建事件之前添加className   将它添加到源数组。

this Stack Overflow帖子,我能够正确地着色CSS。

ui-calendar设置:

 events: function (start, end, timezone, callback) {
                ...
                $http.get(url).success(function (result) {
                    $scope.myEvents = result.value;

                        for (var i = 0; i < $scope.myEvents.length; i++) {
                              ...
                            if ($scope.myEvents[i].HighPriority) { 
                                $scope.myEvents[i].className = ['highPriority'];
                            }
                        }
                        callback($scope.myEvents);
                })
            },

CSS:

  .highPriority,
  .highPriority div,
  .highPriority span {
    background-color: red; /* background color */
    border-color: white;     /* border color */
    color: white;           /* text color */
  }