我是Angular的新手,但阅读的内容相当多。 我正在阅读ng-transclude
在http://docs.angularjs.org/guide/directive#creating-custom-directives_demo_isolating-the-scope-of-a-directive,我想我正确理解它的功能。AngularJS:在单个Angular指令中跨多个子元素
如果您有适用于具有里面的内容,如在
<my-directive>directive content</my-directive>
这将让你与ng-transclude
标记指令的模板中的元素,并包含在元素中的内容元素的指令会在标签元素内呈现。
所以如果myDirective
的模板是<div>before</div><div ng-transclude></div><div>after</div>
它将呈现之前的指令性内容。
这是全部。 我的问题是有可能以某种方式将更多的单个HTML块传递给我的指令?
例如
假设指令的使用应该是这样的:
<my-multipart-directive>
<part1>content1</part1>
<part2>content2</part2>
</my-multipart-directive>
,并有一个模板:
<div>
this: <div ng-transclude="part2"></div>
was after that: <div ng-transclude="part1"></div>
but now they are switched
<div>
呈现为
<div>
this: <div ng-transclude="part2">content2</div>
was after that: <div ng-transclude="part1">content1</div>
but now they are switched
<div>
?
(心里对自己说)我能以某种方式在节点的HTML值绑定到模型,使我能够以这样的方式来使用它,而把它称为“transclude” ......
感谢
虽然我已经接受hassassin的回答相当长的一段前。 看起来,正确和最新的做法即将改变。见凯维纽斯的答案。 – epeleg