我使用基于jQuery的bootstrap-datepicker创建了一个AngularJS指令,我想要一些基于我发送给指令的ng-model
的东西。问题是在datepicker init上点击事件我没有访问任何角度相关的东西。没有scope
,没有ngModel
。所有这些都是未定义的。现在,我可能会遗漏一些明显的东西,但我不知道这是什么。以下是该指令的代码:
.directive('jqCalendar', function () {
return {
restrict: 'EA',
require: 'ngModel',
template: '<div></div>',
replace: true,
scope:{
ngModel: '='
},
link: function (scope, element, attrs, ngModelCtrl) {
var ngModel = scope.ngModel;
element.datepicker({
multidate: true,
beforeShowDay: function (date) {
var today = new Date();
var angularModel = ngModel; //ngModel is always undefined in here, why?!
if (date < today) return false;
},
format: 'dd MM yyyy',
weekStart: 1
})
.on('changeDate', function (e) {
//make server call for selected/deselected date
alert('asd');
});
}
}
})
在element.datepicker({...})
之外我可以看到我的模型的值,但是一旦进入所述控件,我就无法访问任何内容。有什么想法吗?