3
のために発射ません:それは、次のようにインスタンス化されますアウレリアの観察者が、私はこのように単純化したカスタムデータグリッド要素持って配列
export class DataGrid {
@bindable data;
dataChanged(newValue, oldValue) {
console.log("Sensing new data...", newValue);
}
}
を:
<data-grid data.bind="records"></data-grid>
「新しいデータをセンシング...」とデータグリッドが表示されると、レコードの配列がコンソールに表示されます。ただし、オブジェクトの配列からレコードを削除すると、dataChanged()
関数はトリガされません。
let index = this.records.findIndex((r) => { return r.acc_id === this.record.acc_id; });
if (index > -1) {
console.log("Deleting element..." + index, this.records);
this.records.splice(index, 1);
}
は私が"削除要素..." コンソールでなく"センシング新しいデータ..."を取得します。
dataChanged()
がレコードをスプライシングするときに何の発想がないのですか?
は正しいですが、それはまだ仕事を得ることができませんでした。私はすでに 'static inject = [Element];'を持っています。それを 'static inject = [Element、BindingEngine];にすることはできますか?コンストラクタ(element、bindingEngine){...} '?それとも私の問題の原因ですか? '[要素]'に相当する '@ inject'デコレータはありますか? – LStarky
彼らは等しいです。 'static inject = [Element、BindingEngine];または' @inject(Element、BindingEngine) 'のどちらかを実行できますが、必ず両方を行うことはできません。どちらもうまく動作しないので、 '@inject()'または 'static inject = [];'のどちらかを使い、コンストラクタで 'constructor(element、bindingEngine)'を使います。 – Travo
それは私が考えたものです。しかし...まだ動作していません。エラーメッセージは表示されず、 'dataArrayChanged()'はトリガーされません。どうすればデバッグできますか? – LStarky