Javascript 在Angular指令中获取原始转包内容
是否可以通过编程方式在Angular.js指令中获取原始转包内容 我试图创建一个Javascript 在Angular指令中获取原始转包内容,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,是否可以通过编程方式在Angular.js指令中获取原始转包内容 我试图创建一个可编辑的指令,它可以添加到任何div中,允许用户使用自定义的角度指令编辑HTML内容。(设计目标是避免在应用程序中添加无限配置GUI功能,因为超级用户只需编辑HTML…),例如: 洛雷姆·伊普塞姆 我爱你,我爱你,我爱你 自定义指令 以这个Plunker为例(): 单击实心灰色条上的编辑图标以打开编辑器 输入任何格式良好的带有标记的HTML: (例如,标题某些内容) 单击“应用” 到目前为止,我喜欢的是:
可编辑的
指令,它可以添加到任何div中,允许用户使用自定义的角度指令编辑HTML内容。(设计目标是避免在应用程序中添加无限配置GUI功能,因为超级用户只需编辑HTML…),例如:
洛雷姆·伊普塞姆
我爱你,我爱你,我爱你
自定义指令
以这个Plunker为例():
- 单击实心灰色条上的编辑图标以打开编辑器
- 输入任何格式良好的带有标记的HTML:
(例如,
)标题某些内容
- 单击“应用”
- 它可以添加到任何div
- 它可以使用$compile包含嵌套的自定义指令
- 它包括转置的内容
- 如何获取原始转包内容以初始化textarea
在compile函数中,
$transclude
似乎包含mydirective
的模板,而在controller函数中,$transclude
包含更改内容、呈现指令等后的编译内容。您可以使用transclude函数:
.directive('editable', function() {
return {
transclude: true,
link: function(scope, element, attrs, ctrl, transclude) {
transclude(scope, function(clone) {
// clone is your transluded content
});
}
};
});
内容不是来自范围吗?如果是,则将该as属性传递到嵌套指令中。演示会有所帮助。或者在第一个指令上执行您自己的
$compile
。如果不看到更多指令代码,很难回答@charlietfl建议的问题,您已经拥有的演示将为我们提供更多信息help@charlietfl“你说得很对,创造了一个暴徒。现在的一个简短问题是如何用原始(原始、预编译)转写的内容预填充文本区域,以便用户编辑它,而不是重新键入它。仍然错误地查看它…如果数据在范围变量中…使用ing model
绑定到文本区域,输入,选择etc@charlietfl--很有帮助。我已经重写了plunker和question,将其缩小到了一个关于获取html与转置内容文本的特定问题。我相信在转移之前,您需要再添加一个参数,如本文所述:
.directive('editable', function() {
return {
transclude: true,
link: function(scope, element, attrs, ctrl, transclude) {
transclude(scope, function(clone) {
// clone is your transluded content
});
}
};
});