是否有可能以编程方式获取Angular.js指令中的原始被盗内容?
我正在尝试创建一个editable
指令,该指令可以添加到任何div,允许用户使用自定义角度指令编辑HTML内容。 (设计目标是避免在应用程序中添加无限配置GUI功能,因为高级用户只需编辑HTML ...),例如:
<div editable>
<h1>Lorem Ipsem</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit...</p>
<clock>A custom directive</clock>
</div>
以Plunker为例(http://plnkr.co/edit/nIrr9Lu0PZN2PdnhQOC6?p=preview):
<h1>A title</h1><p>some content</p><clock></clock>
)到目前为止我喜欢这个:
我还想不通:
在编译函数中,$transclude
似乎包含mydirective
的模板,并且使用控制器函数,$transclude
包含事物更改后的编译后内容,指令呈现等等。
答案 0 :(得分:6)
您可以使用transclude功能:
.directive('editable', function() {
return {
transclude: true,
link: function(scope, element, attrs, ctrl, transclude) {
transclude(scope, function(clone) {
// clone is your transluded content
});
}
};
});