Я пытаюсь подключить две директивы, используя require
и совместно используя родительский контроллер.
Я проделывал это тысячу раз в других проектах, но хоть в жизни я не могу заставить это работать...
Контроллер директивы this
возвращает undefined, что, в свою очередь, затрудняет передачу методов в дочернюю директиву...
вот мой код для родительской директивы:
app.directive('defaultHeader', () => {
let defaultHeaderCtrl = ($scope, $element) => {
let containEl,
elHeight = 500;
console.log(this) // returns 'undefined'
function resizeElement(el, height) {
el[0].style.height = `${height}px`
}
if (_.isUndefined($scope.coverImgUrl)) {
resizeElement($element, elHeight);
} else {
}
};
return {
restrict: 'A',
scope: {
coverImgUrl: '='
},
controller: defaultHeaderCtrl
};
});
Эта скрипка показывает, что контроллер директив this
должен возвращать конструктор.
Вот некоторый контекст, если кому интересно:
- Шаблон пользовательского интерфейса маршрутизатора представляет собой элемент директивы
<div default-header data="data"></div>
- ui router разрешает данные, затем передает их через контроллер в директиву
Спасибо за помощь
Constructor {}
, а не undefined - person Mario Lamacchia   schedule 06.12.2015