В моей функции конструктора я передаю:
constructor($compile, uiCalendarConfig) {
'ngInject';
this.$compile = $compile;
this.uiCalendarConfig = uiCalendarConfig;
}
и когда я регистрирую его значение внутри $ onInit () в начале его
$onInit() {
console.log('this.$compile:', this.$compile, 'this.uiCalendarConfig:', this.uiCalendarConfig);
...
}
я получаю буквенный код $функция компиляции.
Но когда $ compile вызывается изнутри
eventRender( event, element, view ) {
element.attr({'tooltip': event.title,
'tooltip-append-to-body': true});
console.log('event:', event);
console.log('edited element:', element);
console.log('view:', view);
console.log('this.$compile:', this.$compile);
this.$compile(element)(this);
};
, на который ссылается внутри:
this.uiConfig = {
calendar: {
height: 450,
editable: true,
header:{
left: 'title',
center: '',
right: 'today, prev, next'
},
eventClick: this.alertOnEventClick,
eventDrop: this.alertOnDrop,
eventResize: this.alertOnResize,
eventRender: this.eventRender
}
};
результат console.log('this.$compile:', this.$compile);
равен undefined
значение этого. $ compile.
И это моя проблема, потому что я не знаю, почему он там не определен, если на инициализации контроллера это уже функция.
Кто-нибудь знаетчто мне может не хватать?