如何使用angular-ui/ui-calendar(arshaw/fullcalendar)加载回调?

How to use angular-ui/ui-calendar (arshaw/fullcalendar) loading call back?

我正在尝试使用 angular-ui 日历实现加载回调函数。我希望我的日历在加载后转到特定日期,而不是转到当前日期。

我可以使用 dayClick 方法获得此功能,但是我根本无法使用 angular 实现加载功能。下面是代码,请注意加载回调不是控制台记录任何内容。

 $scope.goToRootScopeDate = function() {
     $scope.myCalendar.fullCalendar('gotoDate', $rootScope.day);
  }

    /* config calendar view  */
  $scope.uiConfig = {
    calendar: {
      defaultView: "agendaDay",
      // editable: true,
      header: {
        left: 'agendaWeek',
        center: 'title',
        right: 'today prev,next',
      },
      dayClick: $scope.goToRootScopeDate,
      loading: function(bool) {
        if (bool) {
          console.log('Done loading')
        } else {
          console.log("still loading")
        }
      }
    },
  }; 

如果您想从 ng-controller 管理 Loading 回调方法...

Loading callback 接收两个参数,不是布尔值。

  /* config calendar view  */
  $scope.uiConfig = {
    calendar: {
      defaultView: "agendaDay",
      // editable: true,
      header: {
        left: 'agendaWeek',
        center: 'title',
        right: 'today prev,next',
      },
      dayClick: $scope.goToRootScopeDate,
      loading: $scope.loading

    },
  }; 

然后你用这两个参数在控制器中管理它

$scope.loading = function(isLoading, view){
      alert("is loading" + isLoading);
    }

您可以在 this plunker 重现它,我在其中添加了一些烦人的警报来管理加载回调。

但是,如果您只想在第一个屏幕加载特定日期... 只需在配置中设置 defaultdate:

/* config calendar view  */
      $scope.uiConfig = {
        calendar: {
          defaultView: "agendaDay",
          // editable: true,
          header: {
            left: 'agendaWeek',
            center: 'title',
            right: 'today prev,next',
          },
          dayClick: $scope.goToRootScopeDate,
          defaultDate:$scope.myDesiredDate

        },
      };