ディレクティブのリンク関数をオーバーライドします

スコット

優れたUIBootstrapライブラリを使用しているアプリケーションに取り組んでいますすべて正常に動作しますが、IE10で機能するcollapseプラグインのバグに遭遇しました。私はメインナビゲーションにcollapseプラグインを使用していますが、これを壊すのはかなり大きな問題なので、それを回避する方法を見つける必要があります。

私は本当にメインライブラリをハックしたくありません。それは私がアプローチを使用して、このサードパーティのディレクティブを飾ることができるはずのように思える見つけ、ここここここに、私は仕事にそれを得るように見えることはできません。

具体的には、collapseディレクティブのlink()関数にあるextend()関数をオーバーライドして、IE10ブラウザーのチェックを実行しようとしています。

誰かがこれをしたか、これを行う方法を知っていますか?

masimplo

承知しました!ディレクティブを装飾して拡張するか、完全にオーバーライドすることができます。これに関する優れたブログ投稿があります

最も簡単な方法は、次のことを行うことです。

app.config(function($provide) {
  $provide.decorator('collapseDirective', function($delegate) {
    var directive = $delegate[0];

    var link = function myLinkFnOverride(scope, element, attrs) {
           // code here...
    }

    directive.compile = function() {
      return function(scope, element, attrs) {
        link.apply(this, arguments);
      };
    };

    return $delegate;
  });
});

これは元のリンク機能を完全に上書きします(すべてをコピーして貼り付け、必要な部分を変更する必要があります)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

AngularJS-オーバーライドディレクティブのコンパイル関数はリンク関数を呼び出しませんか?

分類Dev

Angular JSディレクティブ、リンク関数の双方向データバインディングを変更します

分類Dev

ディレクティブでコントローラー関数をオーバーライドするのは良い考えですか?

分類Dev

docker-composeはコンテナ内のディレクトリをオーバーライドします

分類Dev

既存のBladeディレクティブをオーバーライドします

分類Dev

Angularディレクティブリンクをオーバーライドする

分類Dev

インラインHTMLと比較してディレクティブを使用する場合、多くのオーバーヘッドがありますか?

分類Dev

サードパーティのオーディオライブラリを使用したバックグラウンドオーディオ

分類Dev

コンポーネントのAngular2ディレクティブはng-contentをオーバーライドしますか?

分類Dev

同じディレクティブのリンク関数内でディレクティブコントローラーの関数を使用する

分類Dev

リンク関数のディレクティブの子要素にイベントをバインドします

分類Dev

バックプレスリアクションネイティブルーターフラックスをオーバーライドします

分類Dev

関数バインディング '&'を使用して、あるディレクティブから別のディレクティブに値を渡します

分類Dev

スコープディレクティブをangularjsのオプションのアンパサンドバインディングで分離しますか?

分類Dev

ディレクティブ/コントローラーで$ scopeをバインドします

分類Dev

Springはテスト専用のクラスを実行し、サーバー上の '/'ディレクトリをオーバーライドします

分類Dev

名前空間でディレクティブと関数のオーバーロードを使用する

分類Dev

anglejsディレクティブngIncludeをオーバーライドする方法

分類Dev

ディレクティブのコントローラーがなくても、変数をvmとしてディレクティブスコープにバインドしますか?

分類Dev

Android NDK:ネイティブライブラリのダイナミックリンクをオーバーライドしますか?

分類Dev

Angular-子ディレクティブのコントローラーで親ディレクティブのコントローラーを取得します(リンク関数ではありません)

分類Dev

ダウンロード-1つ以上の例外以外のすべてをオーバーライドするために、tarball内のディレクトリのすべてのコンテンツを既存のディレクトリに抽出します

分類Dev

anglejsディレクティブリンク関数の要素クラスを変更します

分類Dev

リンカ関数のスコープはangularjsディレクティブで何を表しますか

分類Dev

ディレクティブ内のリンクからコントローラー関数を呼び出す

分類Dev

スコープ内のAngularディレクティブ関数にイベントを送信します

分類Dev

ディスプレイ付きのJqueryインラインCSS:ブロックは私のメインCSSをオーバーライドします

分類Dev

ディレクティブのスコープのオブジェクトを双方向でバインドします

分類Dev

ディレクティブでは、関数の引数をhtmlテンプレートに渡します

Related 関連記事

  1. 1

    AngularJS-オーバーライドディレクティブのコンパイル関数はリンク関数を呼び出しませんか?

  2. 2

    Angular JSディレクティブ、リンク関数の双方向データバインディングを変更します

  3. 3

    ディレクティブでコントローラー関数をオーバーライドするのは良い考えですか?

  4. 4

    docker-composeはコンテナ内のディレクトリをオーバーライドします

  5. 5

    既存のBladeディレクティブをオーバーライドします

  6. 6

    Angularディレクティブリンクをオーバーライドする

  7. 7

    インラインHTMLと比較してディレクティブを使用する場合、多くのオーバーヘッドがありますか?

  8. 8

    サードパーティのオーディオライブラリを使用したバックグラウンドオーディオ

  9. 9

    コンポーネントのAngular2ディレクティブはng-contentをオーバーライドしますか?

  10. 10

    同じディレクティブのリンク関数内でディレクティブコントローラーの関数を使用する

  11. 11

    リンク関数のディレクティブの子要素にイベントをバインドします

  12. 12

    バックプレスリアクションネイティブルーターフラックスをオーバーライドします

  13. 13

    関数バインディング '&'を使用して、あるディレクティブから別のディレクティブに値を渡します

  14. 14

    スコープディレクティブをangularjsのオプションのアンパサンドバインディングで分離しますか?

  15. 15

    ディレクティブ/コントローラーで$ scopeをバインドします

  16. 16

    Springはテスト専用のクラスを実行し、サーバー上の '/'ディレクトリをオーバーライドします

  17. 17

    名前空間でディレクティブと関数のオーバーロードを使用する

  18. 18

    anglejsディレクティブngIncludeをオーバーライドする方法

  19. 19

    ディレクティブのコントローラーがなくても、変数をvmとしてディレクティブスコープにバインドしますか?

  20. 20

    Android NDK:ネイティブライブラリのダイナミックリンクをオーバーライドしますか?

  21. 21

    Angular-子ディレクティブのコントローラーで親ディレクティブのコントローラーを取得します(リンク関数ではありません)

  22. 22

    ダウンロード-1つ以上の例外以外のすべてをオーバーライドするために、tarball内のディレクトリのすべてのコンテンツを既存のディレクトリに抽出します

  23. 23

    anglejsディレクティブリンク関数の要素クラスを変更します

  24. 24

    リンカ関数のスコープはangularjsディレクティブで何を表しますか

  25. 25

    ディレクティブ内のリンクからコントローラー関数を呼び出す

  26. 26

    スコープ内のAngularディレクティブ関数にイベントを送信します

  27. 27

    ディスプレイ付きのJqueryインラインCSS:ブロックは私のメインCSSをオーバーライドします

  28. 28

    ディレクティブのスコープのオブジェクトを双方向でバインドします

  29. 29

    ディレクティブでは、関数の引数をhtmlテンプレートに渡します

ホットタグ

アーカイブ