在UI日历每个事件自定义按钮fullcalendar

在UI日历每个事件自定义按钮fullcalendar

问题描述:

ui-calendar example在UI日历每个事件自定义按钮fullcalendar

当你点击每个按钮,它只是调用一个模式,所以你可以编辑或删除事件。从这个角度来看,我无法通过赛事。

这是控制器:

$scope.eventRender = function (event, element, view) { 
    element.append(calendarEventService.formatWeekEvent(event)); 
    $compile(element)($scope); 
}; 

$scope.uiConfig = { 
    calendar:{ 
    ..., 
    eventRender: $scope.eventRender 
    } 
}; 

这是eventRender被调用服务:本身被传递到服务

app.service('calendarEventService', function() { 

    this.formatWeekEvent = function (event) { 
     return <a whole bunch of html to render the button> + 
     '<a ng-click="editActivityModal(event, $event)">Edit</a>' + 
     '<a ng-click="deleteActivityModal(event, $event)">Delete</a>' 
    }; 

}); 

的事件,但是当editActivityModal或deleteActivityModal被调用,该事件没有被传递,我只得到undefined,但是,$事件正在通过(这只是使用preventDefault和stopPropagation的东西)

+1

可以你向我们展示一个代码“ mbrc

找到了解决这个如下:

在返回的HTML添加css类结合在eventRender功能点击事件:

app.service('calendarEventService', function() { 

    this.formatWeekEvent = function (event) { 
     return <a whole bunch of html to render the button> + 
     '<a class="editEvent">Edit</a>' + 
     '<a class="deleteEvent">Delete</a>'; 
    }; 

}); 

在eventRender功能:

$scope.eventRender = function (event, element, view) { 
    element.append(calendarEventService.formatWeekEvent(event)); 
    element.find(".editEvent").bind('click', function() { 
     $scope.editEvent(event); 
     return false; 
    }); 
    element.find(".deleteEvent").bind('click', function() { 
     $scope.deleteEvent(event); 
     return false; 
    }); 
    $compile(element)($scope); 
};