【问题标题】:ember waiting for user to complete the formember 等待用户填写表单
【发布时间】:2018-06-28 00:17:23
【问题描述】:

在 ember 中,我有一个表单询问用户他们的远程服务器的用户名和密码,然后我想通过进行 ajax 调用来验证凭据。目前,我正在使用一个定制的组件,它允许我在单击下一步或提交时绑定任何操作,我可以在其中验证凭据并在需要时抛出错误。但是一旦发生错误,用户就不能点击下一步按钮(组件的实现方式),因此不会发生第二次验证。所以,我想创建一个计算属性来查找用户名和密码(因此在输入时进行 ajax 调用)。但是这种方法的问题是:每次在这些框中输入内容时,都会触发计算属性,从而进行 ajax 调用(我不想无缘无故地进行这么多网络调用)。 ember 中有没有一种方法可以让我们等待用户完成输入然后调用任何类型的操作?

【问题讨论】:

    标签: ember.js


    【解决方案1】:

    更好的方法是使用 oninput 和 action:

    <input oninput={{action "onInput" value="target.value"}}> 
    

    然后从动作 onInput 使用 ember-lifeline 插件(本示例)中的 debounceTask 或使用 ember-concurrency 对 ajax 函数进行去抖动调用:

    actions: {
       onInput(val){
          debounceTask(this, 'sendAjax', val, 500);
       }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-17
      • 1970-01-01
      • 2015-05-14
      相关资源
      最近更新 更多