2016-02-26 519 views
3

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

回答

2

找到了解決這個如下:

在返回的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); 
};