首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何与斯维特击退/加油?

如何与斯维特击退/加油?
EN

Stack Overflow用户
提问于 2017-09-07 20:50:43
回答 2查看 6.3K关注 0票数 12

所以我现在有:

App.html

代码语言:javascript
复制
<div>
  <input on:input="debounce(handleInput, 300)">
</div>

<script>
  import { debounce } from 'lodash'

  export default {
    data () {
      name: ''
    },

    methods: {
      debounce,
      async handleInput (event) {
        this.set({ name: await apiCall(event.target.value).response.name })
      }
    }
  }
</script>

并得到错误Uncaught TypeError: Expected a function at App.debounce。这是来自Lodash,所以似乎不像Svelte的方法正在被传递。

额外编辑

关于我目前如何实现这一目标的额外背景:

代码语言:javascript
复制
oncreate () {
  const debounceFnc = this.handleInput.bind(this)

  this.refs.search.addEventListener('input', debounce(debounceFnc, 300))
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-08 00:33:44

应该取消的是方法本身-因此,与其对每个输入事件调用debounce,不如将handleInput设置为一个已取消的方法:

代码语言:javascript
复制
<div>
  <input on:input="handleInput(event)">
</div>

<script>
  import { debounce } from 'lodash'

  export default {
    data () {
      return { name: '' };
    },

    methods: {
      handleInput: debounce (async function (event) {
        this.set({ name: await apiCall(event.target.value).response.name })
      }, 300)
    }
  }
</script>

这里是简化的REPL示例。

编辑: svelte v3版本

代码语言:javascript
复制
<input on:input={handleInput}>

<script>
  import debounce from 'lodash/debounce'

  let name = '';

  const handleInput = debounce(e => {
    name = e.target.value;
  }, 300)
</script>

这里的REPL例子。

票数 25
EN

Stack Overflow用户

发布于 2020-01-05 20:08:26

接受的答案对Svelte v1有效。对于v3,您可以使用以下代码实现相同的目标:

代码语言:javascript
复制
<input placeholder='edit me' bind:this={input}>
<p>name: {name}</p>

<script>
  import { onMount } from "svelte"
    import { debounce } from 'lodash-es'
    var name="", input;
    onMount(()=>{
        input.addEventListener('input', debounce((e)=>{name=e.target.value}, 250))
    })
</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46104897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档