2013-06-14 5 views
5

LinkingFunctionにリッチテキストエディタを作成する指令があります。リッチテキストエディタに使用している小さなディレクティブは、https://github.com/angular-ui/ui-tinymce/blob/master/src/tinymce.jsにあります。AngularJSのディレクティブを拡張する(リンクの前後のプロパティを共有する)

私は、私はデフォルトのオプションを設定し、以前のディレクティブで作成された要素にアクセスすることができます別のディレクティブでこのディレクティブを拡張する必要があります。

可能であれば、私は(上にリンクされている)、元ui-tinymceディレクティブをフォークせずにこれを実行したいと思います。 (オプションはTinyMCEのに渡される前に)このディレクティブのLinkingFunctionが、私は後に操作する必要が

  • tinyInstance実行される前に、私がアクセスして設定できるようにする必要があり

    • uiTinymceConfig:このディレクティブでは2つのプロパティがありますそれは私がextending directivesの研究をたくさんやった

    このディレクティブと同様に、"Directive Definition Object"に利用できるさまざまな属性、などlinkpre-link、によって作成されました,compileおよびcontrollerである。私は、これらのメソッドのいくつかを使って2つのディレクティブ間でプロパティを共有することを実験しましたが、私のニーズ(上記)に合った解決策を思いつきませんでした。

    私はこのオリジナルの指令コードをフォローしなくても、必要なものを達成することができない場合は、うまくいきます。

  • 答えて

    1

    私はあなたのためにこれを少し調べて、this Plnkrを思いついた。

    これは、注入のために提供された値を無効にすることができます - サブモジュールに依存するモジュールでこれを行うことができるので、サブモジュールに依存する異なるモジュールに対して異なる構成を提供できますui-tinymce指令の場合同様の原理を利用し

    、あなたは単にそれをオーバーライドすることでuiTinymceConfigための設定値を編集することができるはずです。 thisを実行して、必要に応じてベースモジュールでそれをオーバーライドすることもできます。

    あなたがインスタンス化した後、インスタンス自体を編集したい場合は、単純にID属性を使用して直接、どこでも、あなたのコード内でtinymce.get('#IDattribute')を呼び出すことによって、それをアクセスすることができます。

    +0

    インスタンス化した後、インスタンスへのアクセスについての簡単なメモ:私は私の第二のディレクティブで(attrs.id) '' tinymce.getを試してみましたが、トラブルは私のカスタムディレクティブの 'LinkingFunction'が' UI-前に呼び出されていることですtinymceディレクティブはID属性を設定します。 –

    +0

    私は単純に要素上にディレクティブを連鎖していました。例えば以下のようになります。 '

    +0

    これはもっとも望ましいことではないかもしれませんが、 ?そうすれば、それはあなたの指示ではなく固定されます。つまり、 '