2017-08-25 24 views
7

Tôi có một thành phần pagination xây dựng với Vue 1, mà tôi đang nhận dữ liệu từ Laravel pagination:nguồn Vue - plugin.apply không phải là một chức năng

<template> 
    <div class="row"> 
     <div class="col-md-8"> 
      <div v-if="zeroVideos">No videos found for "{{ query }}""</div> 
     </div> 
     <div class="col-md-8"> 
      <single-video v-for="video in videos" :video="video"></single-video> 
     </div> 
    </div> 
    <div class="row justify-content-center"> 
     <pages v-if="meta && videos.length && showPagination" for="videos" :pagination="meta.pagination"></pages> 
    </div> 
</template> 

<script> 
    import eventHub from '../events.js' 

    export default { 
     props: ['query'], 
     data() { 
      return { 
       videos: [], 
       meta: null, 
       showPagination: false, 
       zeroVideos: false, 
      } 
     }, 
     methods: { 
      getVideos (page) { 
       this.$http.get('/search/videos?q=' + this.query + '&page=' + page).then((response) => { 
        this.videos = response.data.data 
        this.meta = response.data.meta 
        this.showPagination = response.data.meta.pagination.total_pages > 1 
        console.log('Videos ' + response.data.meta.pagination.total) 
        this.zeroVideos = response.data.meta.pagination.total < 1 
        eventHub.$emit('videos.counter', response.data.meta.pagination.total) 
       }) 
      } 
     }, 
     ready() { 
      this.getVideos(1) 
      eventHub.$on('videos.switched-page', this.getVideos) 
     } 
    } 
</script> 

Đối với một số lý do, sau khi tôi đã cập nhật chrome của tôi , pagination ngừng làm việc và tôi nhận được xác định cho response.data.meta, nhưng về kiểm tra tab mạng trong giao diện điều khiển, tôi đang gửi dữ liệu từ backend:

data[{id: 43, uid: "15883245ef3de1",…}, {id: 44, uid: "15883245ef3de2",…},…] 
meta:{pagination: {total: 8, count: 8, per_page: 20, current_page: 1, total_pages: 1, links: []}} 

các pagination hoạt động tốt trên trình duyệt IE, Firefox và Safari, nhưng trên Chrome, tôi gặp sự cố sau khi cập nhật. Sau khi điều tra một chút, tôi nhận ra đó là vấn đề với tài nguyên vue, bởi vì nếu tôi nhận được yêu cầu với vanilla js, tôi nhận được dữ liệu phản hồi, nhưng tôi muốn sử dụng tài nguyên vue, vì tôi đang sử dụng nó các thành phần. Tôi có phiên bản 0.9.3 nguồn vue, và tôi đã cố gắng để cập nhật nó, bởi vì rõ ràng là lỗi được sửa trong phiên bản mới hơn, nhưng về việc cập nhật nó tôi đã nhận lỗi:

plugin.apply is not a function

Tôi đã cố gắng để thay đổi Con đường tôi nhập khẩu các plugin từ, gợi ý ở đây:

var VueResource = require('vue-resource'); 
Vue.use(VueResource); 

để

Vue.use(require('vue-resource')); 

Nhưng, vẫn còn những lỗi tương tự, làm thế nào tôi có thể sửa chữa những vấn đề này với các nguồn lực vue?

Trả lời

0

số vue-resource có một số vấn đề và sự cố đã ngừng cập nhật và duy trì. tác giả của nó đã viết axios để thay thế vue-resource. Do đó, tôi khuyên bạn nên sử dụng axios.

Bạn cần cài đặt axios bởi npm hoặc yarn và thay thế var VueResource = require('vue-resource'); Vue.use(VueResource); với var axios = require('axios'); Vue.prototype.$http = axios

tham khảo: axios

Các vấn đề liên quan