我一直在angularjs应用程序中使用Fullcalender指令。正如我在文档中一样,Fullcalender jquery插件中存在双击句柄。
这是ref:http://code.google.com/p/fullcalendar/issues/detail?id=375#makechanges
有一个建议双击是我们应该使用eventRedner事件处理程序来注册double事件。正如我所做并取得成功但问题是我无法在bind方法中调用$ modal box。
这是代码。
$scope.eventPopup = function(event,element){
console.log($scope);
element.bind('dblclick', function(e) {
console.log("double click" );
var modalInstance = $modal.open({
templateUrl: Drupal.settings.angularjsApp.basePath + '/ng_node/calender/popup',
controller: ModalInstanceCtrl,
scope: $scope
});
});
};
日历配置:
$scope.uiConfig = {
calendar:{
height: 450,
editable: true,
eventStartEditable: false,
header:{
left: 'prev,next today',
center: 'title',
right: 'month,basicWeek,basicDay'
},
//eventClick: $scope.alertOnEventClick,
eventDrop: $scope.alertOnDrop,
eventResize: $scope.alertOnResize,
eventRender: $scope.eventPopup
}
};
任何人都可以建议我该怎么做?
由于
答案 0 :(得分:2)
我已经通过在AngularJs中使用$ apply()方法解决了这个问题。
element.bind('dblclick',function(e) {
$scope.$apply(function(){
console.log(event_date._d);
var modalInstance = $modal.open({
templateUrl: Drupal.settings.angularjsApp.basePath + '/ng_node/calender/popup',
controller: ModalInstanceCtrl,
resolve:{
day: function (){
return event_date._d;
}
},
size: 'lg',
scope: $scope
});
});
});
$ apply()函数用于jQuery绑定。
由于