Я пытаюсь передать значение атрибута из директивы в область действия дочерней директивы через ng-transclude. Я пробовал использовать =, @, & для привязки к сфере видимости, однако я все еще ошеломлен. Я хочу, чтобы директива child наследовала атрибут из родительской директивы. Любая помощь будет оценена!Как передать значение атрибута родительской директивы дочерней области действия через transclude?
Я сделал jsfiddle здесь ->https://jsfiddle.net/egdfLzLj/5/
Javascript
var app = angular.module('app', []);
app.directive('parent', function() {
return {
restrict: 'E',
transclude: true,
replace: true,
scope: {
label: '@'
},
template: '<section>' +
'<label>{{::label}}' +
'<ng-transclude></ng-transclude>' +
'</label>' +
'</section>'
};
});
app.directive('child', function() {
return {
restrict: 'E',
replace: true,
scope: {
type: '@',
label: '&'
},
template: '<input ng-type="type" ng-value="::label">'
};
});
Html
<parent label="Parent Label">
<child type="text"></child>
</parent>
Это не то, что я пытаюсь сделать. Я пытаюсь не добавлять ярлык к дочернему элементу. Я бы хотел, чтобы он наследовал атрибут от родителя. Я вложил в jsfiddle то, что ожидаю. – jemiloii
Хорошо. Plz см. Обновленный ответ. – softvar
@softvar Я также пытался получить значение te родителя с ключом require, но это не сработало. Родитель не был найден, и поэтому у него не было дополнительного параметра в функции ссылки. Зачем? Это потому, что родитель переводит? – Michelangelo