Dart 聚合物核心分离器:drag/resize 事件
Dart Polymer core-splitter: drag/resize event
移动核心分离器时,是否有任何我可以收听的流?我尝试了以下方法:
Html:
<div id="left-div"></div>
<core-splitter direction="left"></core-splitter>
<div id="right-div"></div>
飞镖:
initPolymer().run(() {
Polymer.onReady.then((_) {
querySelector('#left-div').onResize.listen((_) => print('resizing left'));
querySelector('#right-div').onResize.listen((_) => print('resizing right'));
querySelector('core-splitter').onDrag.listen((_) => print('dragging'));
});
});
页面运行,但没有打印任何内容。
更一般地说,有没有办法侦听由于未指定的父元素的调整大小事件而导致的元素大小调整?例如,如果我有一个 div 嵌套在左侧 div 内,有没有一种简单的方法可以监听内部 divs 大小的变化,而无需明确地将其附加到分离器?
文档未提及 core-splitter
的任何事件。我想类似于 paper-slider
https://www.polymer-project.org/docs/elements/paper-elements.html#paper-slider 最近发生的事件也很适合 core-splitter
。
创建功能请求
来自 github 的 frankiefu 提供了一个优雅的解决方案。有一个 'track' 事件可以通过 addEventListener
监听
querySelector('core-splitter').addEventListener('track', callback);
您可以看到一个可用的 js 版本 here,尽管 dart 中的脚本几乎相同。
移动核心分离器时,是否有任何我可以收听的流?我尝试了以下方法:
Html:
<div id="left-div"></div>
<core-splitter direction="left"></core-splitter>
<div id="right-div"></div>
飞镖:
initPolymer().run(() {
Polymer.onReady.then((_) {
querySelector('#left-div').onResize.listen((_) => print('resizing left'));
querySelector('#right-div').onResize.listen((_) => print('resizing right'));
querySelector('core-splitter').onDrag.listen((_) => print('dragging'));
});
});
页面运行,但没有打印任何内容。
更一般地说,有没有办法侦听由于未指定的父元素的调整大小事件而导致的元素大小调整?例如,如果我有一个 div 嵌套在左侧 div 内,有没有一种简单的方法可以监听内部 divs 大小的变化,而无需明确地将其附加到分离器?
文档未提及 core-splitter
的任何事件。我想类似于 paper-slider
https://www.polymer-project.org/docs/elements/paper-elements.html#paper-slider 最近发生的事件也很适合 core-splitter
。
frankiefu 提供了一个优雅的解决方案。有一个 'track' 事件可以通过 addEventListener
监听querySelector('core-splitter').addEventListener('track', callback);
您可以看到一个可用的 js 版本 here,尽管 dart 中的脚本几乎相同。