是否可以某种方式ngTransclude用于属性值,而不是替换内部HTML内容?例如这个简单的指令
ngTransclude
var testapp = angular.module('testapp', []) testapp.directive('tag', function() { return { template: '<h1><a href="{{transcludeHere}}" ng-transclude></a></h1>', restrict: 'E', transclude: true } });
并用作
<tag>foo</tag>
我希望它翻译成
<h1><a href="foo">foo</a></h1>
有什么办法吗,还是我必须使用属性而不是包含?
这是 摆弄例子
像这样:
var testapp = angular.module('testapp', []) testapp.directive('tag', function() { return { restrict: 'E', template: '<h1><a href="{{transcluded_content}}">{{transcluded_content}}</a></h1>', replace: true, transclude: true, compile: function compile(tElement, tAttrs, transclude) { return { pre: function(scope) { transclude(scope, function(clone) { scope.transcluded_content = clone[0].textContent; }); } } } } });
摆弄。