【问题标题】:Debounce with two directives使用两个指令去抖动
【发布时间】:2014-09-11 20:21:38
【问题描述】:

我的应用程序使用 socketio 将文本区域中的更改推送到所有连接的客户端。当用户在 textarea 中输入时,我希望发生两件事:

1) 立即通过套接字推送文本

2) 每次更改后以 1 秒的去抖动将文本保存到数据库

我试过了,但由于某种原因它不会推送或保存:

<div ng-model="text" ng-keyup="push()" ng-change="save()" ng-model-options="{ debounce: 1000 }"></div>

我也从文档中尝试过:

ng-model-options="{ updateOn: 'change', debounce: {'change': 1000} }"

但仍然没有运气。任何帮助将不胜感激。

【问题讨论】:

  • 尝试使用&lt;textarea&gt; 而不是&lt;div&gt;

标签: javascript angularjs


【解决方案1】:

div 不会引发 onchange 事件。您应该使用 &lt;input&gt; 元素。否则,您必须识别内容何时更改并手动调用save()

见:
https://stackoverflow.com/a/6676218/413397
https://docs.angularjs.org/api/ng/directive/ngChange

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-21
    • 1970-01-01
    • 1970-01-01
    • 2020-08-29
    • 2017-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多