highcharts.jsでhighcharts-ngを使用しています
グラフを起動するたびに、次のエラーが発生します。
angular.js:13920 TypeError: Cannot read property 'pos' of undefined
at https://code.highcharts.com/stock/highstock.js:518:422
at Array.forEach (<anonymous>)
at a.each (https://code.highcharts.com/stock/highstock.js:27:466)
at F.<anonymous> (https://code.highcharts.com/stock/highstock.js:518:396)
at F.a.(anonymous function) [as getPlotLinePath] (https://code.highcharts.com/stock/highstock.js:19:437)
at a.Tick.renderGridLine (https://code.highcharts.com/stock/highstock.js:113:264)
at a.Tick.render (https://code.highcharts.com/stock/highstock.js:115:472)
at F.renderTick (https://code.highcharts.com/stock/highstock.js:159:427)
at https://code.highcharts.com/stock/highstock.js:160:448
at Array.forEach (<anonymous>)
何か案は?
こんにちは@ Lir10
サポートにご連絡いただけますか? 参照: https :
バグレポートにはgithubの問題を使用しています。 あなたの場合、これがHighstockのバグなのか、チャートの設定ミスなのか、highcharts-ngモジュールのバグなのかわかりません。
何か案は?
唯一のアイデア:エラーはxAxis / yAxisティックの問題を示唆しているので、そこで定義されているオプションを削除して、これで問題が解決するかどうかを確認します。 はいの場合は、highcharts-ngを使用せずにjsfiddleで問題を再作成して、Highstocklibのバグであることを確認してください。
こんにちは@pawelfus 、
あなたは正しかった-問題はxAxisティックにあった
問題を解決する
@ Lir10何が問題だったのか聞いてもいいですか? 私は同じ問題を抱えており、原因を特定しようとしています。 ありがとう!
@bobheadxi
私はこれを行うことをお勧めします:
何か案は?
唯一のアイデア:エラーはxAxis / yAxisティックの問題を示唆しているので、そこで定義されているオプションを削除して、これで問題が解決するかどうかを確認します。 はいの場合は、highcharts-ngを使用せずにjsfiddleで問題を再作成して、Highstocklibのバグであることを確認してください。
@ Lir10 、まだ覚えているなら、どこに問題があったのか正確に説明して@pawelfusの回答はあまり役に立ちません。
こんにちは@davletovalmir
問題を再現するための安定した方法を提供できる場合は、必要なデモまたはファイルへのリンクを共有してください。
@KacperMadej 、根本的な原因はまだ見つかりませんでしたが、これが私が見つけたものです(以下の難読化されたコードの一部について事前に申し訳ありません):
step
関数でスローされます。d.group.animate({
scaleY: 1
}, G(z(d.options.animation), {
step: function(a, b) {
h[f] = v + b.pos * (c.pos - v); /// <-- b is undefined
d.group.attr(h)
}
}))
step
関数は、お気づきのように、コンテキストを使用してここで呼び出されますが、 a
およびb
引数は使用されません。animate: function(e, q, b) {
q = a.animObject(y(q, this.renderer.globalAnimation, !0));
y(m.hidden, m.msHidden, m.webkitHidden, !1) && (q.duration = 0);
0 !== q.duration ? (b && (q.complete = b),
h(this, e, q)) : (this.attr(e, null, b),
q.step && q.step.call(this)); /// <-- function called without arguments
return this
}
animate
関数はSVGElement
一部であり、 render
関数内で呼び出されました。その問題を詳細に調べるのに十分な時間がありませんでした。 私が見つけたものがあなたのお役に立てば幸いです。
PSコンソールエラーのあるスクリーンショットも添付しています。 それが大いに役立つかどうかはわかりませんが、誰が知っていますか:)
@davletovalmir
情報をありがとう-私は問題を再現するのに十分です。
コード修正の回避策は次のとおりです。
https://jsfiddle.net/BlackLabel/L6x08jeq/1/
デモからのコード修正をコードに適用できます(モジュールのように-メインのHighchartsファイルの後)。 時間がある場合は、これでアプリのエラーが解決するかどうかを確認してください。
参考:縮小されていない、Highcharts関連ファイルの人間が読めるコードは、 .src.js
ファイルを使用して利用できます(例: highcharts.src.js
。
チャートが初めてレンダリングされるとき、主にブラウザにフォーカスがないとき
これは確認すべき点です。これは、フォーカスのないブラウザカード/ウィンドウのアニメーションを防止する最近の機能に関連している可能性があります(誰も見ていないときにアニメーション化する必要がないため)。
縮小されていないコードで正しい対応するコードを取得することができました。 ここで重要なのは、列シリーズタイプを使用することです。
デモ: https :
手順:
_内部メモ:_
H.pick((fx && fx.pos), 1)
の代わりにfx.pos
、問題を解決しているようだが、テストは確認することが必要です。
@KacperMadej 、ありがとう、それは理にかなっています。 修正作業:)
この修正がいつリリースされるかを見積もっていただけますか?
@davletovalmir
修正は今週PRで行われ、次のHighchartsバージョンでリリースされる予定です。
その間:
この問題は、 animate
関数がアニメーションをバイパスしたときに適切な引数をstep
に渡さなかったことが原因であったため、代わりにそこで修正しました。
@KacperMadej次のリリースまでどのくらい
次のバージョン(7.0.3)は今週の終わりまでに予定されています
更新されたETAはありますか?
回帰テストが進行中です。 すべての問題が解決されると、新しいバージョンがリリースされます。新しいリリースは間もなく、最大で数日かかると思います。
今リリースされました@yhoiseth
甘い! 教えてくれてありがとう🙂
このリポジトリの「リリースを監視」しているのに、何らかの理由でGitHubから通知がありませんでした🤔
通知を受け取らなかった理由はわかりませんが、それでも、メーリングリストにサインアップできます: https :
最も参考になるコメント
次のバージョン(7.0.3)は今週の終わりまでに予定されています