使用ng-bind在使用包含的指令上定义被转换的内容

时间:2015-04-24 22:57:36

标签: angularjs angular-directive ng-bind angularjs-ng-transclude

使用以下定义对象考虑some-directive

{
   restrict: "E",
   transclude: true,
   template: "<div>content: <div ng-transclude></div></div>"
}

我可以这样使用它:

<some-directive>{{someContent}}</some-directive>

毫不奇怪,someContent将放置在必须的位置。

但我希望能够以这种方式使用它:

<some-directive ng-bind='someContent'></some-directive>

这是example of the problem

2 个答案:

答案 0 :(得分:0)

我不清楚为什么你必须使用ng-bind而不是{{ }},但如果必须,那么解决这个问题的一种方法是使用{转换整个元素{1}}。

但是,这忽略了transclude: "element"属性,因此您需要在template函数中手动添加它。并且,您需要使指令的优先级高于compile(具有默认优先级ngBind)的优先级:

1

Your forked plunker

答案 1 :(得分:0)

这修复了你的例子:

<some-directive ><span ng-bind='someContent' /></some-directive>

http://plnkr.co/edit/qwKFYv1WAbpPTR1gGuqA?p=preview