【问题标题】:Angular fullcalendar directive filter events from a single event sourceAngular fullcalendar 指令过滤来自单个事件源的事件
【发布时间】:2013-11-29 11:20:10
【问题描述】:

我有一个关于 Fullcalendar 的 Angular-UI 日历指令的问题。我是 Angular 新手,我正在尝试从我的应用程序使用的单个事件源中过滤事件。我想要完成的是对我的资源中的完整结果集执行前端过滤器并相应地更新日历。

我正在像这样获取我的事件:

$scope.eventSources = [$scope.events];
$scope.events = function (start, end, callback) {
  var events = VergaderingCalendarEvents.list({
      start: start.getTime() / 1000,
      end: end.getTime() / 1000
  });

  // Belofte maakt schuld 
  events.$promise.then(function (val) {
          $scope.events = events;
          callback($scope.events);
      }
  );

};

这会返回一个 JSON 数组,其中包含以下格式的对象:

[{"id":1,"title":"CBS","allDay":false,"status":"OPEN","start":"2013-11-27T14:00Z","end":"2013-11-27T18:00Z"}]

现在我想使用选择值从控制器中过滤 status 上的结果。我发现了一些从 $scope.eventSources 数组中交换元素的示例代码,但这并不是我想要完成的。我只想以正确的方式过滤这个结果。如果需要,我可以在今天晚些时候为此创建一个 plunker。

感谢您的宝贵时间。

巴特

【问题讨论】:

    标签: angularjs fullcalendar angular-ui


    【解决方案1】:

    最简单和最有效的方法是在每次更改状态过滤器时发送带有正确过滤器的请求,并从 api 获取正确的列表,但这并不能解决您提出的客户端问题。

    要通过客户端执行过滤,您需要在将事件设置到 $scope 之前过滤 promise 函数中的事件。

    $scope.events = $filter('statusFilter')(events,status)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-02
      • 2012-03-10
      • 1970-01-01
      • 1970-01-01
      • 2016-01-28
      • 2018-12-24
      • 2019-01-01
      相关资源
      最近更新 更多