在 Angular 指令中获取原始包含的内容
Get original transcluded content in Angular directive
是否可以以编程方式获取 Angular.js 指令中的原始包含内容?
我正在尝试创建一个可以添加到任何div 的 editable
指令,允许用户使用自定义角度指令编辑 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):
- 单击灰色实心条上的编辑图标以打开编辑器
- 输入任何带有标记的格式正确的 HTML:(例如
<h1>A title</h1><p>some content</p><clock></clock>
) - 点击"应用"
到目前为止,我喜欢这个:
- 它可以添加到任何div
- 它可以包括嵌套的自定义指令,方法是使用 $compile
- 它包括包含的内容
我还想不通的:
- 如何获取原始包含的内容以初始化文本区域
在编译函数中,$transclude
似乎包含mydirective
的模板,而使用控制器功能,$transclude
包含更改内容、呈现指令等后的后编译内容。
您可以使用 transclude 函数:
.directive('editable', function() {
return {
transclude: true,
link: function(scope, element, attrs, ctrl, transclude) {
transclude(scope, function(clone) {
// clone is your transluded content
});
}
};
});
相关文章:
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 货币代码为欧元-金额的格式不应包含小数
- 如何包含特定于每个视图angularjs的javascript文件
- 我如何修复包含在captcha的addthis中的错误
- 正在注入包含JS的HTML
- Json数据包含日期和时间格式
- Angular js-返回一个包含类似
- jQuery/JS包含运算符或类似运算符
- 如果href包含X,请更改href
- 使用jQuery从原始页面内容创建iframe
- 在 Angular 指令中获取原始包含的内容
- 比较两个数组并返回一个新数组,其中包含仅在其中一个原始数组中找到的任何项目
- 将JSON字符串(Pretified)转换回原始字符串(包含所有转义符)
- JavaScript - 使用包含异步回调但仍返回原始值的函数覆盖函数
- 如何切换映射-发出一个对象包含原始和新的可观察对象
- 如果.focusout表单不包含值,则恢复为原始值
- 在页面中包含html文件,而不应用原始页面的CSS/JS
- 将字符串数组拆分为两个数组,每个数组包含原始字符串的一部分
- 原始javascript应该在.js文件中吗-如何包含