有人建议我可以使用以下内容:
$wmdInput.on('keyup', _.debounce(function () {
var rawContent = $wmdInput.val();
scope.$apply(function () {
ngModel.$setViewValue(rawContent);
});
}), 300);
然而,这给出了一条消息:Uncaught TypeError:对象500没有来自jQuery的方法'apply'。
有谁知道如何解决这个问题?
作为一个FYI,还建议我可以使用以下内容:
var promise;
$wmdInput.on('keyup', function () {
$timeout.cancel(promise);
promise = $timeout(function() {
var rawContent = $wmdInput.val();
ngModel.$setViewValue(rawContent);
}, 2000);
});
我很感谢AngularJS专家的评论。第二个代码是否与使用_lodash一样有效?我在github上发现了很多帖子,所以我希望很快能看到核心AngularJS中实现的内容。
答案 0 :(得分:1)
来自@Satpal的(现已删除)答案是正确的:您将超时值(300
)作为参数传递给$wmdInput.on
,而不是_.debounce
。
所以试试这个:
$wmdInput.on('keyup', _.debounce(function () {
var rawContent = $wmdInput.val();
scope.$apply(function () {
ngModel.$setViewValue(rawContent);
});
}, 300));