我是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