簡體   English   中英

jQuery bind方法中的angularjs $ scope變量

[英]angularjs $scope variable inside jquery bind method

我一直在angularjs應用程序中使用Fullcalender指令。 正如我在文檔中所提到的,Fullcalender jquery插件中存在雙擊句柄。

這是裁判: http : //code.google.com/p/fullcalendar/issues/detail? id= 375#makechanges

雙擊的建議是,我們應該使用eventRedner事件處理程序注冊兩次事件。 正如我所做的並獲得成功,但問題是我將無法在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

    }
};

誰能建議我該怎么辦?

謝謝

我已經通過在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綁定。

謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM