Использование:Держите содержание пользовательской директивы с угловыми
<interactive-button id="test-button" class="grey" text="This is a test" icon-left="add">Hello World</interactive-button>
Выход:
<div class="grey button ng-isolate-scope" id="test-button" text="This is a test" icon-left="add" icon-right="delete">
<i ng-if="::iconLeft" class="icon kico add"></i>
<span ng-if="::text" class="sentence ng-binding ng-scope">This is a test</span>
</div>
Директива модуля:
/**
* Created by stephanbijzitter on 28/05/15.
*/
(function() {
var directive_name = 'interactiveButton';
var template_file = '/angularTemplates/interactive.button.template.html';
var module = angular.module(directive_name, [template_file]);
module.directive(directive_name, function() {
return {
replace: true,
restrict: 'E',
scope: {
text: '@',
iconLeft: '@',
iconRight: '@'
},
templateUrl: template_file
};
});
angular.module(template_file, []).run(['$templateCache', function($templateCache) {
$templateCache.put(template_file,
'<div class="button">\n' +
' <i ng-if="::iconLeft" class="icon kico {{::iconLeft}}"></i>\n' +
' <span ng-if="::text" class="sentence">{{text}}</span>\n' +
' <i ng-if="::iconRight" class="icon kico {{::iconRight}}"></i>\n' +
'</div>'
);
}]);
}());
В образце использования, вы можете увидеть Hello World
между открытие и закрытие тегов пользовательской директивы. Я хочу иметь возможность работать с этим контентом. Мне не нравится использовать параметр text=...
в моей директиве.
По сути, я хочу удалить параметр text
и заменить его тем, что находится между тегами директивы.
Возможно ли это, и если да, то каким образом?
Я думаю, я понимаю, что вы имеете в виду .. Вы можете получить элемент из директивы, почему бы не назвать .text() функции по этому поводу? Он вернет текст, который у вас есть между вашими тегами. – Billy
Отключить: https://docs.angularjs.org/api/ng/directive/ngTransclude –
Awesome @SergiuParaschiv, который работает как шарм, если вы хотите, не стесняйтесь представить ответ, и я помечаю его как решение. Обновленная директива: https://gist.github.com/StephanBijzitter/b1b74906f5894512d6a6 –