0

角度のあるアプリ内で highcharts-ng を使用しています。xAxis ラベルがクリックされたときに関数を実行する必要があります。チャートに追加しているカテゴリとラベルの下を参照してください。

現在、ラベルとアラートに onclick を追加できますが、これを angular で動作させることはできません。

return "<a onclick='alert(1)'>" + this.value + "</a>";

http://pablojim.github.io/highcharts-ng/

現在のコードの実例はこちら。 http://jsfiddle.net/3gLr4vcu/

4

1 に答える 1

1

Angular ディレクティブは $compile が呼び出されるまで処理されません。これは通常、Angular がディレクティブや ng-include などのテンプレートを挿入するときに行われます。自分で DOM を変更した場合、Angular は自分で $compile を呼び出さない限り、HTML をどうするかをまったく知りません。DOM が highcharts-ng によって変更された後、次のように $compile を呼び出す必要があります。

$compile(element)(scope)

理想的には、要素をまだ $compiled されていない要素にし (そうでない場合はどうなるかわかりません)、スコープDOM ツリーの上向きのトラバーサルで最初に遭遇するスコープにする必要があります。スコープ階層が必要ない場合は、要素を $rootScope にアタッチするだけです。

$compile を注入する必要があります (説明どおりに使用する場合は $rootScope も同様に)。詳細については、$compile 式の奇妙な構文についても説明している$compile ドキュメントを参照してください。完全なコードを投稿すると、$compile ステートメントを配置する場所と、使用する適切なスコープを見つける方法を教えてくれます。

編集: これは動作中の JSFiddle です: http://jsfiddle.net/tsclaus/bpg4556c/

于 2015-03-18T02:12:42.787 に答える