指令标签之间的文本

时间:2014-12-03 08:10:20

标签: angularjs

假设我有一个名为my-directive的指令。

如何访问或操作指令代码中指令标记之间的文本,如下所示:

<my-directive> Custom Text <my-directive>

我的指令代码:

app.directive('myDirective', function() {
    return {
        ...
        template: '<div>...Custom Text somewhere inside div... </div>'
    };
); 

2 个答案:

答案 0 :(得分:14)

在模板中使用ng-transclude指令。

.directive('myDirective', function() {
    return {
        transclude: true,
        template: '<div><ng-transclude></ng-transclude></div>
    }
});

将之前的内部内容移动到ng-transclude在模板中的位置。

Demo in Plunker

答案 1 :(得分:0)

如果您在指令中提供模板。它将替换html中的文本

app.directive('myDirective', function() {
  return {
    restrict: 'E',
    compile: function(elem) {
      elem.replaceWith(markdown.toHTML(elem.html()));
    }
  }
});