如何在angular-ui-calendar中获得可见日期范围

时间:2014-03-30 16:44:53

标签: angularjs

使用此日历控件http://angular-ui.github.io/ui-calendar/我想观看显示的可见日期范围。

我已经阅读了文档,甚至进入了完整日历控件的源代码,可见日期范围似乎可用的唯一位置是ViewObject callback或本地闭包变量控制代码本身。 (不适用于此)。

当然,我错过了一些简单的事情。 我想要观看可见日期,以便我可以获取需要添加到活动列表中的计划数据。

我有一个缓存后端,arFullCalendar在发出更多事件数据的ajax请求时不会被击中,因此我试图将事件列表保持在内部并使用angular进行所有获取操作

我使用的是arFullCalendar的1.3版,而不是2.0 Beta。


更新:根据下面@ Thara的建议,我确实设法找到了viewRender回调,然后我只需要连接它,现在我可以判断视图何时发生变化。

   $scope.calendarConfig = {
        calendar:{
            height: "100%",
            ...
            viewRender: function(view, element) {
                $log.debug("View Changed: ", view.visStart, view.visEnd, view.start, view.end);
            }
        }
    };

我的问题是我一直在努力观察日期的变化,而基于jQuery的控制是不可能的。

1 个答案:

答案 0 :(得分:3)

您需要使用arshaw完整日历中公开的 getView() 功能,如下所示,

$scope.getView = function() {
        var view = $scope.myCalendar.fullCalendar('getView');
        console.log(view);
        console.log(view.start);
        console.log(view.end);
        console.log(view.visStart);
        console.log(view.visEnd);
    };

<div class="calendar" ng-model="eventSources" data-calendar="myCalendar" data-config="uiConfig.calendar" data-ui-calendar="uiConfig.calendar"></div>

getView函数实质上公开了包含当前视图信息的View Object