我想用我的json用vueJS
计算数据数据是这样的
json来自我的api
[
{
"id": 4,
"votes": 0
},
{
"id": 3,
"votes": 1
},
]
要获取并呈现此数据,我正在使用此vueJS文件
app.js
const vm = new Vue({
el: '#app',
data: {
results: []
},
mounted() {
axios.get("http://example.com/votes.json")
.then(response => {this.results = response.data})
},
});
现在我想创建一个vue变量来显示我的index.html
中的总投票数的index.html
<div v-for="result in results">
<p>Votes {{ result.votes }}.</p>
<p>Id : {{ result.id }}</p>
</div>
<div>
<p>Total of votes : {{ resultsVotes }}</p>
</div>
答案 0 :(得分:2)
reduce
函数
then
投票总和
axios.get("http://example.com/votes.json")
.then(response => {
this.results = response.data;
this.resultsVotes = this.results.reduce((sum, curr) => sum + curr.votes, 0);
});
答案 1 :(得分:1)
如果问题是如何计算resultVotes,建议使用computed
值:
const vm = new Vue({
el: '#app',
data: {
results: []
},
computed: {
resultVotes () {
return this.results.reduce((sum, val) => sum + val.votes, 0);
}
},
mounted() {
axios.get("http://example.com/votes.json")
.then(response => {this.results = response.data})
},
});