オブジェクトのスコープ外でコールバックイベントを取得するにはどうすればよいですか?

チャンドラ・エスケイ

プラグイン使用Chart.jsしてデータポイントをドラッグしています。グラフをカスタマイズするには、オブジェクトを渡す必要があり、イベントが発生すると、オプションとともに渡されるコールバックがトリガーされますイベントがトリガーされたときにオブジェクトのデータセットを変更したい操作を実行できるように、イベントをその範囲外にするにはどうすればよいですか。optionsdragEndoptions

@Component({
  selector: 'app-line-chart',
  templateUrl: './line-chart.component.html',
  styleUrls: ['./line-chart.component.css']
})
export class LineChartComponent implements OnInit {

  @ViewChild('myChart') myChart: BaseChartDirective;

  public chartInstance: Chart;
  public context: CanvasRenderingContext2D;

  public options: any = {
    type: 'line',
    data: {
      labels: [2010, 2011, 2012, 2013, 2014],
      datasets: [
        {
          label: 'Marks',
          data: [120, 90, 30, 50, 20, 30],
          borderWidth: 3,
          borderColor: "#00a2e8",
          fill: false
        }
      ]
    },
    options: {
      dragDataRound: 0,
      dragData: true,
      scales: {
        yAxes: [{
          ticks: {
            reverse: false
          }
        }]      
      },
      onDragEnd: function (e, datasetIndex, index, value) {
          console.log('Event Triggered'); // This works fine.
          //Here I want to trigger a function outside its scope.      
          this.dragEndEvent(e, datasetIndex, index, value);
      }
    }
  };

  dragEndEvent(e, datasetIndex, index, value) {
    //Do some manipulations on the myChartOptions object. 
    // When this event is triggered, I cannot acccess options object. 
    // console.log(this.options); 
    //Error: Cannot read property 'options' of undefined
  }


  constructor() { }

  ngOnInit() {
  }

  ngAfterViewInit(): void {
    this.chartInstance = new Chart(this.myChart.ctx, this.options);
  }
}
シェラパンw

このコンテキストを参照するには、矢印関数を使用する必要があります

これを試して:

public myChartOptions = {
  type: 'line',
  data: {...}, 
  options: {    
    dragData: true,
    dragX: false,
    dragDataRound: 0,
    dragOptions: {
      magnet: {
        to: Math.round
      }
    },    
    onDragEnd: (e, datasetIndex, index, value) => {
      console.log('Event Triggered'); // This works fine.
      //Here I want to trigger a function outside its scope.      
      this.dragEndEvent(e, datasetIndex, index, value);
    }
  }
}

dragEndEvent(e, datasetIndex, index, value) {
    //Do some manipulations on the myChartOptions object. 
    // This is not getting triggered.
}

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

オブジェクトコンストラクターからコールバックを実行するにはどうすればよいですか?

分類Dev

wxpythonのwxribbonバーの右クリックイベントからオブジェクトを取得するにはどうすればよいですか?

分類Dev

オブジェクトのプロパティをWPFコントロールにバインドするにはどうすればよいですか?

分類Dev

Javaのコールバックで呼び出し元オブジェクトを取得するにはどうすればよいですか?

分類Dev

jqueryコールバック関数内で現在のオブジェクト参照を取得するにはどうすればよいですか?

分類Dev

SketchUpでグループオブジェクトのクリックイベントを作成するにはどうすればよいですか?

分類Dev

同じグローバルレベルオブジェクトの属性内のコールバックからグローバルレベルオブジェクトにアクセスするにはどうすればよいですか?

分類Dev

ActiveRecordオブジェクトのコールバックを取得するにはどうすればよいですか?

分類Dev

Typescriptで、ジェネリックコンテナタイプのオブジェクトをオブジェクトタイプのジェネリックコンテナにマージするにはどうすればよいですか?

分類Dev

javascriptマップオブジェクトの特定のインデックスでキーを取得するにはどうすればよいですか?

分類Dev

ガベージコレクションされたオブジェクトの統計を取得するにはどうすればよいですか?

分類Dev

Laravelのコレクションオブジェクトに特定のインデックス番号でオブジェクト(モデルタイプオブジェクト)を挿入するにはどうすればよいですか?

分類Dev

クリックイベントを使用してテーブルでバリューラジオを取得するにはどうすればよいですか?

分類Dev

クリックイベントを使用してテーブルでバリューラジオを取得するにはどうすればよいですか?

分類Dev

オブジェクトをベクトルにプッシュするときにコピーコンストラクターを使用する数を計算するにはどうすればよいですか?

分類Dev

イオンプロジェクト用のコルドババックグラウンドジオロケーションv3.0をインストールするにはどうすればよいですか?

分類Dev

構造体オブジェクトがスコープ外になったときに構造体オブジェクト内のポインターを削除するにはどうすればよいですか?

分類Dev

div内の要素をクリックして、DOMにループされた配列内のオブジェクトから派生したその要素のテキストコンテンツを取得するにはどうすればよいですか?

分類Dev

オールインワン(Edge / Firefox / Chrome)ブラウザ拡張機能のコンテンツスクリプトにメッセージパッシングコールバックを実装するにはどうすればよいですか?

分類Dev

グループ内のオブジェクトのキャンバス相対位置を取得するにはどうすればよいですか?

分類Dev

JavaScriptエラーのプロトタイプメンバーオブジェクトキーを取得するにはどうすればよいですか?

分類Dev

Pythonでバイナリイメージのコンテンツ/オブジェクトを中央に配置するにはどうすればよいですか?

分類Dev

apolloサーバーのコンテキストオブジェクトにユーザーを追加するにはどうすればよいですか?

分類Dev

MeteorのChromeコンソールで特定のテンプレートインスタンスからデータオブジェクトを取得するにはどうすればよいですか?

分類Dev

ホストコンソールでRunspaceの子PowerShellオブジェクトストリームを表示するにはどうすればよいですか?

分類Dev

randomHumanコンストラクターを拡張して2種類のオブジェクトを取得するにはどうすればよいですか?

分類Dev

プロジェクトコンテキストの外にMavenモジュールを含めるにはどうすればよいですか?

分類Dev

Djangoオブジェクトのモデル名またはコンテンツタイプを取得するにはどうすればよいですか?

分類Dev

オブジェクトのコレクションのインターフェイスを作成するにはどうすればよいですか?

Related 関連記事

  1. 1

    オブジェクトコンストラクターからコールバックを実行するにはどうすればよいですか?

  2. 2

    wxpythonのwxribbonバーの右クリックイベントからオブジェクトを取得するにはどうすればよいですか?

  3. 3

    オブジェクトのプロパティをWPFコントロールにバインドするにはどうすればよいですか?

  4. 4

    Javaのコールバックで呼び出し元オブジェクトを取得するにはどうすればよいですか?

  5. 5

    jqueryコールバック関数内で現在のオブジェクト参照を取得するにはどうすればよいですか?

  6. 6

    SketchUpでグループオブジェクトのクリックイベントを作成するにはどうすればよいですか?

  7. 7

    同じグローバルレベルオブジェクトの属性内のコールバックからグローバルレベルオブジェクトにアクセスするにはどうすればよいですか?

  8. 8

    ActiveRecordオブジェクトのコールバックを取得するにはどうすればよいですか?

  9. 9

    Typescriptで、ジェネリックコンテナタイプのオブジェクトをオブジェクトタイプのジェネリックコンテナにマージするにはどうすればよいですか?

  10. 10

    javascriptマップオブジェクトの特定のインデックスでキーを取得するにはどうすればよいですか?

  11. 11

    ガベージコレクションされたオブジェクトの統計を取得するにはどうすればよいですか?

  12. 12

    Laravelのコレクションオブジェクトに特定のインデックス番号でオブジェクト(モデルタイプオブジェクト)を挿入するにはどうすればよいですか?

  13. 13

    クリックイベントを使用してテーブルでバリューラジオを取得するにはどうすればよいですか?

  14. 14

    クリックイベントを使用してテーブルでバリューラジオを取得するにはどうすればよいですか?

  15. 15

    オブジェクトをベクトルにプッシュするときにコピーコンストラクターを使用する数を計算するにはどうすればよいですか?

  16. 16

    イオンプロジェクト用のコルドババックグラウンドジオロケーションv3.0をインストールするにはどうすればよいですか?

  17. 17

    構造体オブジェクトがスコープ外になったときに構造体オブジェクト内のポインターを削除するにはどうすればよいですか?

  18. 18

    div内の要素をクリックして、DOMにループされた配列内のオブジェクトから派生したその要素のテキストコンテンツを取得するにはどうすればよいですか?

  19. 19

    オールインワン(Edge / Firefox / Chrome)ブラウザ拡張機能のコンテンツスクリプトにメッセージパッシングコールバックを実装するにはどうすればよいですか?

  20. 20

    グループ内のオブジェクトのキャンバス相対位置を取得するにはどうすればよいですか?

  21. 21

    JavaScriptエラーのプロトタイプメンバーオブジェクトキーを取得するにはどうすればよいですか?

  22. 22

    Pythonでバイナリイメージのコンテンツ/オブジェクトを中央に配置するにはどうすればよいですか?

  23. 23

    apolloサーバーのコンテキストオブジェクトにユーザーを追加するにはどうすればよいですか?

  24. 24

    MeteorのChromeコンソールで特定のテンプレートインスタンスからデータオブジェクトを取得するにはどうすればよいですか?

  25. 25

    ホストコンソールでRunspaceの子PowerShellオブジェクトストリームを表示するにはどうすればよいですか?

  26. 26

    randomHumanコンストラクターを拡張して2種類のオブジェクトを取得するにはどうすればよいですか?

  27. 27

    プロジェクトコンテキストの外にMavenモジュールを含めるにはどうすればよいですか?

  28. 28

    Djangoオブジェクトのモデル名またはコンテンツタイプを取得するにはどうすればよいですか?

  29. 29

    オブジェクトのコレクションのインターフェイスを作成するにはどうすればよいですか?

ホットタグ

アーカイブ