Примечание: ui-grid - это имя моей настраиваемой сетки. Прошу прощения за путаницу.пользовательские директивы - дочерние директивы не отображаются, если они включены в родительскую директиву
У меня есть настраиваемая директива, которая будет иметь дочернюю настраиваемую директиву и будет вызываться таким образом в html.
<ui-grid resource="/api/data.json">
<ui-gridcolumns>
</ui-gridcolumns>
</ui-grid>
Когда директива ребенка заключена в родительской директиве, операторы консоли не печатают, но когда директива ребенок находится вне родительской директивы, она печатает console.log просто отлично. Любое понимание того, как заставить его работать с дочерней директивой в родительской директиве, оценивается.
родительская директива:
module.exports = function() {
return {
restrict: 'E',
templateUrl: 'app/ui-grid/grid.template.html',
link: function (scope, element, attrs) {
console.log('linked Grid');
},
controller: ['$scope', function ($scope) {
$scope.onthescreen = 'test value';
}]
};
};
Ребенок директива:
module.exports = function() {
return {
restrict: 'E',
templateUrl: 'app/ui-grid/gridcolumns/grid.columns.template.html',
link: function (scope, element, attrs) {
console.log('linked Grid Columns');
},
controller: ['$scope', function ($scope) {
console.log('calling Grid Columns');
}]
};
};
Весь базовый код в мерзавцем для справки.
https://github.com/eshrinivasan/angular-gulp-browserify-boilerplate
, если вы хотите, чтобы ваш родитель, чтобы обернуть его ребенок, вам придется использовать 'transclusion', так что дочерние элементы получат w записанный в шаблон родителя. в противном случае родительский шаблон * перезаписывает * содержимое элемента, а дочерние элементы по существу удаляются из DOM вместе. – Claies
также, вы можете рассмотреть свое имя здесь; многие люди могут быть смущены вашим вопросом, поскольку уже существует угловая библиотека [ui-grid] (http://ui-grid.info/), может показаться, что вы пытаетесь что-то сделать с этой библиотекой а не с вашими собственными директивами. – Claies