Ответы пользователя по тегу Vue.js
  • [ VUE ] Почему не работает lodash.debounce?

    Методы инициализируются в контексте window, у которого нет вашего window.delay, а если и есть, то не тот.
    У вас q создается через вызов метода debounce lodash.
    Потом уже Vue биндит инстанс компонента.

    Еще один пропаченый вариант ( на codepen ) из документации
    <script src="https://cdn.jsdelivr.net/lodash/4.13.1/lodash.js"></script>
    <div id="debounce-search-demo">
      <input v-model="searchQuery" placeholder="Type something">
      <strong>{{ searchIndicator }}</strong>
    </div>

    new Vue({
      el: '#debounce-search-demo',
      data: {
        searchQuery: '',
        searchQueryIsDirty: false,
        isCalculating: false,
        delay: 5000
      },
      computed: {
        searchIndicator() {
          if (this.isCalculating) {
            return '⟳ Fetching new results'
          } else if (this.searchQueryIsDirty) {
            return '... Typing'
          } else {
            return '✓ Done'
          }
        },
        debouncedSearch() {
          return _.debounce(this.search, this.delay)
        }
      },
      watch: {
        searchQuery: function () {
          this.searchQueryIsDirty = true
          this.expensiveOperation()
        }
      },
      methods: {
        // This is where the debounce actually belongs.
        expensiveOperation: function(){
          return this.debouncedSearch()
        },
        search() {   
          this.isCalculating = true
          setTimeout(() => {
            this.isCalculating = false
            this.searchQueryIsDirty = false
          }, 10000)
        },
      }
    })
    Ответ написан
    Комментировать
  • Vue Svg Sprite Webpack как настроить правильно?

    Ответ написан
    Комментировать