提供自定义组件的回调

Mononofu

我制作了一个自定义组件,该组件基本上包装了d3折线图。现在,我希望能够为图表中的线条上的点击注册回调。

我给组件提供了一个@NgCallback参数,然后将事件发送到:

class NetworkSummaryComponent implements NgShadowRootAware {
  @NgCallback('callback')
  Function callback;

  void onShadowRoot(ShadowRoot shadowRoot) {
    ...
    chart.callMethod('listen', ['line-click', (ev) {
        var name = ev.callMethod('getLineName');
        print(name);
        callback({'name': name});
    }]);
  }
}

使用组件时,我将控制器的功能指定为回调:

<network-summary
    ...
    callback="ctrl.lineClicked">
</network-summary>

但是,实际上从未调用过该函数,因为我知道回调是从JS端到达的,因为执行了第一个代码段中的打印。

如果我改为指定属性,callback="ctrl.lineClicked()"则会收到一个奇怪的异常:

Closure call with mismatched arguments: function 'call'

我找不到有关如何正确执行回调的任何官方文档,因此我不确定自己在做什么错。

Mononofu

事实证明,我必须在属性中明确命名期望的参数:

<network-summary
    ...
    callback="ctrl.lineClicked(name)">
</network-summary>

希望这对下一个有此问题的人有用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

自定义代表回调

来自分类Dev

JavaScript:自定义回调函数

来自分类Dev

Nightwatch自定义命令回调

来自分类Dev

Javascript 自定义回调函数

来自分类Dev

内置自定义组件的TouchableWithoutFeedback不会触发onPress回调

来自分类Dev

在ruby方法上定义自定义回调

来自分类Dev

在ruby方法上定义自定义回调

来自分类Dev

如何从回调访问Polymer自定义元素

来自分类Dev

自定义事件与ReactJS中的回调

来自分类Dev

Passportjs自定义回调-'密码错误'消息

来自分类Dev

如何创建执行回调的树枝自定义标签?

来自分类Dev

Express.js中的自定义回调获取

来自分类Dev

自定义javascript函数/ jQuery回调的正确语法

来自分类Dev

在翻新回调中接收自定义参数

来自分类Dev

NSMutableSet与自定义isEqual:和哈希回调

来自分类Dev

通过自定义回调函数的Woocommerce订单

来自分类Dev

自定义挂钩/回调/宏方法

来自分类Dev

在回调中反应自定义钩子

来自分类Dev

Tensorflow回调作为CTC的自定义指标

来自分类Dev

在回调函数中使用自定义钩子

来自分类Dev

Express.js中的自定义回调获取

来自分类Dev

Ajax可自定义的错误回调函数

来自分类Dev

jQuery函数自定义加扰回调

来自分类Dev

password.js自定义回调200

来自分类Dev

如何从回调访问Polymer自定义元素

来自分类Dev

CakePHP 3:如何创建自定义模型回调?

来自分类Dev

使用 Django Rest Framework 的自定义 JSON 回调

来自分类Dev

自定义元素内的 Google Auth 回调

来自分类Dev

Quickblox:自定义模块-自定义回调函数,而不是默认的“ completedWithResult”