扩展AngularJS中的指令(在链接之前和之后共享属性)

时间:2013-06-14 10:56:06

标签: angularjs tinymce angularjs-directive angularjs-scope

我有一个指令,在LinkingFunction中创建一个富文本编辑器。我可以在https://github.com/angular-ui/ui-tinymce/blob/master/src/tinymce.js找到我用于富文本编辑器的小指令。

我需要用另一个指令扩展这个指令,这个指令允许我配置默认选项并访问前一个指令创建的元素。

如果可能的话,我希望这样做而不需要原始的ui-tinymce指令(链接到上面)。在该指令中有两个属性:

  • uiTinymceConfig我需要能够在运行此指令LinkingFunction之前访问和配置(在将选项传递给TinyMCE之前)
  • tinyInstance我需要在该指令创建
  • 之后进行操作

我对extending directives进行了大量研究,以及"Directive Definition Object"可用的不同属性,例如linkpre-link,{{1} },post-linkcompile。我已尝试使用其中一些方法在两个指令之间共享属性,但我还没有提出符合我需求的解决方案(上图)。

如果没有这样做,我很乐意分割这个原始的指令代码。

1 个答案:

答案 0 :(得分:1)

所以我对你进行了一些调查,并提出了this Plnkr

这将允许您覆盖为注入提供的值 - 请注意,您可以在依赖于子模块的模块中执行此操作,因此您可以为依赖于子模块的不同模块提供不同的配置,这些模块可用于ui-tinymce指令。

使用类似的原则,你应该能够通过简单地覆盖它来编辑uiTinymceConfig的配置值。您甚至可以执行this并在基本模块中直接覆盖它。

如果要在实例化后编辑实例,可以使用ID属性直接访问它,并直接在代码中的任何位置调用tinymce.get('#IDattribute')