如何在vue中附加具有良好表的axios数据

时间:2018-03-31 10:06:14

标签: vue.js vue-tables-2

伙计们,我是Vue的新手,所以不知道如何解决这个让我先显示代码然后问题,我在这里使用Vue-Good-table就是链接https://xaksis.github.io/vue-good-demos/#/simple-table

<vue-good-table
  title="Product List"
  :columns="columns"
  :rows="rows"
  :paginate="true"
  :lineNumbers="true" />

export default {
data(){
return {
  columns: [
    {
      label: 'productname',
      field: 'product_name',
      filterable: true,
    },
    {
      label: 'productdesc',
      field: 'product_desc',
     // type: 'number',
      html: false,
      filterable: true,
    },

  ],
  rows:[],//get axios return value
 };
},
 methods:{
  next() {
    var _this=this
     this.$http.get('http://localhost:3000/api/companyproducts')
            .then(function (response) {

           _this.rows=response.data
            })
            .catch(function (error) {

                });
    }
  }
}

现在我的问题是我如何用好的表格

追加这个axios响应值

2 个答案:

答案 0 :(得分:2)

  

To&#34; 追加axios数据&#34;你必须先在你的项目中安装axios。

首先将axios安装到您的项目中:

this.dateTo

然后将您的下一个方法转换为以下方法:

npm install --save axios
  

请注意,您还必须导入axios.So脚本标记开始使用时:

  next() {
    axios.get('http://localhost:3000/api/companyproducts')
      .then(response => {
         this.rows = response.data
      }) 
      .catch(error => console.log(error))
  }

Axios是一个很棒的套餐,您可以了解更多here

正如我在您的代码中看到的那样,您不是在使用axios而是使用vue-resource.Vue-resource也是一个很好的软件包,因此您可以了解更多here

答案 1 :(得分:1)

我猜测你的代码,http.get完成后视图没有响应。

您可以通过将rows配置为计算属性来执行此操作,因为这会监视其依赖项(即row_data)的更改

computed: {
  rows: function () { 
    return this.row_data;
  }
}
...
data(){
  return {
    columns: [
    ...
    ],
  row_data:[]
 };
}
...
methods: {
  next() {
    var _this=this
    this.$http.get('http://localhost:3000/api/companyproducts')
      .then(function (response) {
         _this.row_data = response.data
      })  
  }
}
...
created: function() {
  this.next()
}