Опция «require» не работает, если директива динамически создана, поэтому она не может ссылаться на контроллеры своих родителей. Как я могу заставить его работать?AngularJS - динамически созданная директива «требует» не работает
app.directive('parent', function ($compile) {
return {
controller: function() {},
link: function (scope, el, attrs) {
// "child" is dynamically created
el.append($compile('<div child>')(scope));
}
}
})
.directive('child', function() {
return {
require: "?^parent",
link: function(scope, el, attrs, pCtrl) {
// "child" cannot find its parent controller
console.log("pCtrl is undefined: ", pCtrl);
}
}
})
вот plunker DEMO
очень полезно, спасибо. – gfaceless
Такая же проблема здесь. Я запускал компиляцию $, а затем добавлял. Не оценил, что заказ повлияет на свойство require. – remarsh