如何在 vue 中附加具有良好 table 的 axios 数据
how to append axios data with good table in vue
伙计们,我是 Vue 的新手,所以不知道如何解决这个问题让我先展示代码,然后再展示问题,我正在使用 Vue-Good-table 这里是 link 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 响应值附加到好行 table
我猜测您的代码在 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()
}
To "append axios data" you have to install axios first in your project.
所以首先将 axios 安装到您的项目中:
npm install --save axios
然后将您的下一个方法转换为:
next() {
axios.get('http://localhost:3000/api/companyproducts')
.then(response => {
this.rows = response.data
})
.catch(error => console.log(error))
}
Note that you have also to import axios.So when the script tag starts use:
import axios from 'axios'
Axios 是一个很好的包你可以了解更多here
正如我在你的代码中看到的,你没有使用 axios,但是 vue-resource。Vue-resource 也是一个很好的包,所以你可以了解更多 here
伙计们,我是 Vue 的新手,所以不知道如何解决这个问题让我先展示代码,然后再展示问题,我正在使用 Vue-Good-table 这里是 link 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 响应值附加到好行 table
我猜测您的代码在 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()
}
To "append axios data" you have to install axios first in your project.
所以首先将 axios 安装到您的项目中:
npm install --save axios
然后将您的下一个方法转换为:
next() {
axios.get('http://localhost:3000/api/companyproducts')
.then(response => {
this.rows = response.data
})
.catch(error => console.log(error))
}
Note that you have also to import axios.So when the script tag starts use:
import axios from 'axios'
Axios 是一个很好的包你可以了解更多here
正如我在你的代码中看到的,你没有使用 axios,但是 vue-resource。Vue-resource 也是一个很好的包,所以你可以了解更多 here