私はES6で書かれたクラスを持っていて、「selected」と呼ばれるコントローラー値にアクセスする必要があるディレクティブ「action」を持っています。この「選択された」コントローラー値は、別のディレクティブ「grid」によって更新されます。(2ウェイバインディング)
ディレクティブ「グリッド」によって更新されたコントローラーから「選択された」値をディレクティブ「アクション」 on-select に渡す必要があります。「バインド」を実行して渡そうとしましたが、「undefined の actionHandler を読み取れません」というタイプ エラーが発生します。
「選択された」値が「グリッド」ディレクティブによって更新されたときに、コントローラーからの更新された値で actionEvent がトリガーされるように、これを処理する最良の方法は何なのかわかりません。ディレクティブは正しく機能しており、ブレークポイントで壊れていることがわかります。
これが私がHTMLで持っているものです
<div class="col-xs-9">
<action options="ctrl.Actions" on-select="ctrl.actionEvent">
</action>
</div>
<div class="col-xs-12">
<grid config="ctrl.gridOptions" data="ctrl.data" selected="ctrl.selected"></grid>
</div>
コントローラーでは、
class CheckC {
constructor($scope) {
this.$scope = $scope;
this.selected = this.$scope.selected;
}
actionEvent() {
this.actionHandler.bind(this);
}
actionHandler(item, event) {
let selection;
let model = this.selected;
if(model) {
item.id = 1;
}
}
}