Javascript 在Angular指令中获取原始转包内容

Javascript 在Angular指令中获取原始转包内容,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,是否可以通过编程方式在Angular.js指令中获取原始转包内容 我试图创建一个可编辑的指令,它可以添加到任何div中,允许用户使用自定义的角度指令编辑HTML内容。(设计目标是避免在应用程序中添加无限配置GUI功能,因为超级用户只需编辑HTML…),例如: 洛雷姆·伊普塞姆 我爱你,我爱你,我爱你 自定义指令 以这个Plunker为例(): 单击实心灰色条上的编辑图标以打开编辑器 输入任何格式良好的带有标记的HTML: (例如,标题某些内容) 单击“应用” 到目前为止,我喜欢的是:

是否可以通过编程方式在Angular.js指令中获取原始转包内容

我试图创建一个
可编辑的
指令,它可以添加到任何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
           });
       }
    };
});