清除ng-model-options上的debounce

时间:2015-11-17 11:53:09

标签: angularjs

我在模型选项中配置了去抖动输入,如下所示:

<input type="text"
       ng-model="searchTerm" 
       ng-keypress="$event.which===13 && search(searchTerm)" 
       ng-model-options="{debounce: 1000}">

然后我为模型值设置了手表:

$scope.$watch('searchTerm', function (term) {
    if (!term || term.length === 0) {
      $scope.clearSearch();
    }
    if (term.length > 3) {
      $scope.search(term);
    }
});

从输入声明中可以看出,如果按下回车键,我已经配置了一个ng-keypress事件来调用我的搜索功能。

有没有办法可以清除去抖动,所以[enter]键按键会清除去抖动,让searchTerm立即更新?

由于

1 个答案:

答案 0 :(得分:1)

最简单的解决方案是在初始化编辑器后设置模型:

  editorInit(editor: MonacoStandaloneCodeEditor) {
    const model = monaco.editor.createModel(
      this.getCode(),
      "json",
      monaco.Uri.parse("a://b/foo.json")
    );
    editor.setModel(model);
  }

这是使用json模式的https://stackblitz.com/edit/materia-ngx-monaco-editor-example-gtgxpy?file=src/app/app.component.ts

表示,首选方法是仅使用该模型初始化编辑器,而不在创建模型后对其进行设置...而是在检查源代码ngx-monaco-editor之后,此方法是最一致的解决方案。< / p>