angular 封裝 Jquery插件時作用域問題

今天在封裝一個Jquery插件的時候,在用jquery處理綁定事件時需要訪問scope去更新綁定model的值,
<span style="font-size:32px;color:#ff0000;">使用$.proxy在將事件的上下文改爲scope。</span>
代碼如下:

commonDirective.directive('commonDate', function() {
    var defaultUrl = CONSTANT.COMMONDIRECTIVE.PATH + 'commonDate.html';
    return {
        templateUrl : function(elem, attrs) {
            return attrs.myTemplateUrl || defaultUrl;
        },
        scope : {
            placeholder : '@myPlaceholder',
            model : '=myModel'
        },
        replace : true,
        link : function(scope, element, attrs, ctrl) {
            $(element).closest('.input-group').datepicker({
                todayBtn : true,
                clearBtn : true,
                language : "zh-CN",
                orientation : "top auto",
                calendarWeeks : true,
                autoclose : true,
                todayHighlight : true
            });
          <span style="color:#cc0000;">  $(element).closest('.input-group').on('changeDate', $.proxy(function(event) {</span>
                var me = this;
                this.model = event.date.Format('yyyy年MM月dd日');
                this.$apply();
            }, scope));
        },
        controller : function($scope, $element, $attrs, $http) {

        }
    }
});



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章