VueJ를 사용하여 테이블에 JSON 객체 표시s
서버측 조작을 처리하고 있는 Larabel 앱에서 취득한 JSON 오브젝트를 VueJ를 사용하여 표시하려고 했습니다.어떤 형태로든 도움을 주시면 감사하겠습니다.
다음은 내 larabel 앱의 원시 JSON 데이터입니다.
[{
"1": 1,
"2": 2,
"3": 3,
"4": 4,
"5": 5,
"6": 6,
"7": 7,
"8": 8,
"9": 9,
"10": 10,
"11": 11,
"12": 12
},
{
"1": 70000,
"2": 66524.45,
"3": 62736.11,
"4": 58606.81,
"5": 54105.88,
"6": 49199.86,
"7": 43852.3,
"8": 38023.47,
"9": 31670.03,
"10": 24744.79,
"11": 17196.27,
"12": 8968.39
},
{
"1": 3475.55,
"2": 3788.35,
"3": 4129.3,
"4": 4500.93,
"5": 4906.02,
"6": 5347.56,
"7": 5828.84,
"8": 6353.43,
"9": 6925.24,
"10": 7548.52,
"11": 8227.88,
"12": 8968.39
},
{
"1": 6300,
"2": 5987.2,
"3": 5646.25,
"4": 5274.61,
"5": 4869.53,
"6": 4427.99,
"7": 3946.71,
"8": 3422.11,
"9": 2850.3,
"10": 2227.03,
"11": 1547.66,
"12": 807.16
},
{
"1": 9775.55,
"2": 9775.55,
"3": 9775.55,
"4": 9775.55,
"5": 9775.55,
"6": 9775.55,
"7": 9775.55,
"8": 9775.55,
"9": 9775.55,
"10": 9775.55,
"11": 9775.55,
"12": 9775.55
},
{
"1": "Mar 17, 2018",
"2": "Apr 16, 2018",
"3": "May 16, 2018",
"4": "Jun 15, 2018",
"5": "Jul 15, 2018",
"6": "Aug 14, 2018",
"7": "Sep 13, 2018",
"8": "Oct 13, 2018",
"9": "Nov 12, 2018",
"10": "Dec 12, 2018",
"11": "Jan 11, 2019",
"12": "Feb 10, 2019"
},
{
"1": 66524.45,
"2": 62736.11,
"3": 58606.81,
"4": 54105.88,
"5": 49199.86,
"6": 43852.3,
"7": 38023.47,
"8": 31670.03,
"9": 24744.79,
"10": 17196.27,
"11": 8968.39,
"12": 0
}]
내 VueJS 코드:
<template>
<div class="container">
<table class="table table-bordered">
<thead>
<tr>
<th> Month</th>
<th> Opening Principal</th>
<th> Principal Taken</th>
<th> Interest</th>
<th> Payment</th>
<th> Repayment Date</th>
<th> Closing Principal</th>
</tr>
</thead>
<tr v-for="loans in loans">
<td v-for="loan in loans">{{loan}}</td>
</tr>
</table>
</div>
</template>
<script type="text/javascript">
export default {
data () {
return {
loans: ''
}
},
created () {
this.$http.get('http://localhost:9000/api/loans/repayment')
.then(
response => {
this.loans = response.body
// console.log(response)
})
.catch(function(error){
console.log(error)
})
}
}
</script>
<style type="text/css">
ul{
list-style: none;
}
li{
display: inline;
}
</style>
원하는 결과:
| Month | OpeningPrincipal | PrincipalTaken | Interest | Payment | RepaymentDate | ClosingPrincipal |
|-------|-------------------|-----------------|-----------|---------|---------------|-------------------|
| 1 | 7000 | 3475.55 | 6300 | 9775.55 | Mar 17, 2018 | 66524.45 |
12x7 테이블이 완성될 때까지 계속됩니다.
감사합니다!!!
>> LARAVEL 앱에서 JSON 응답을 보내기로 결정했지만 목표를 달성하는 방법을 아직 찾을 수 없습니다.JSON 오브젝트는 다음과 같습니다.
이것을 만들어서 해결했다.
var vue = new Vue({
el:'#textExample',
data:{
loans:[ { "1": 1, "2": 2, "3": 3, "4": 4, "5": 5, "6": 6, "7": 7, "8": 8, "9": 9, "10": 10, "11": 11, "12": 12 }, { "1": 70000, "2": 66524.45, "3": 62736.11, "4": 58606.81, "5": 54105.88, "6": 49199.86, "7": 43852.3, "8": 38023.47, "9": 31670.03, "10": 24744.79, "11": 17196.27, "12": 8968.39 }, { "1": 3475.55, "2": 3788.35, "3": 4129.3, "4": 4500.93, "5": 4906.02, "6": 5347.56, "7": 5828.84, "8": 6353.43, "9": 6925.24, "10": 7548.52, "11": 8227.88, "12": 8968.39 }, { "1": 6300, "2": 5987.2, "3": 5646.25, "4": 5274.61, "5": 4869.53, "6": 4427.99, "7": 3946.71, "8": 3422.11, "9": 2850.3, "10": 2227.03, "11": 1547.66, "12": 807.16 }, { "1": 9775.55, "2": 9775.55, "3": 9775.55, "4": 9775.55, "5": 9775.55, "6": 9775.55, "7": 9775.55, "8": 9775.55, "9": 9775.55, "10": 9775.55, "11": 9775.55, "12": 9775.55 }, { "1": "Mar 17, 2018", "2": "Apr 16, 2018", "3": "May 16, 2018", "4": "Jun 15, 2018", "5": "Jul 15, 2018", "6": "Aug 14, 2018", "7": "Sep 13, 2018", "8": "Oct 13, 2018", "9": "Nov 12, 2018", "10": "Dec 12, 2018", "11": "Jan 11, 2019", "12": "Feb 10, 2019" }, { "1": 66524.45, "2": 62736.11, "3": 58606.81, "4": 54105.88, "5": 49199.86, "6": 43852.3, "7": 38023.47, "8": 31670.03, "9": 24744.79, "10": 17196.27, "11": 8968.39, "12": 0 } ]
},
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.3/vue.min.js"></script>
<div id="textExample">
<table class="table table-bordered">
<thead>
<tr>
<th> Month</th>
<th> Opening Principal</th>
<th> Principal Taken</th>
<th> Interest</th>
<th> Payment</th>
<th> Repayment Date</th>
<th> Closing Principal</th>
</tr>
</thead>
<tr v-for="loan in loans[0]">
<td v-for="otherloan in loans">{{otherloan[loan]}}</td>
</tr>
</table>
</div>
tr 및 td 태그의 v-for만 다음과 같이 변경합니다.
<tr v-for="loan in loans[0]">
<td v-for="otherloan in loans">{{otherloan[loan]}}</td>
</tr>
적절한 해결책은 대출에 대해 반복되고, 각각의 테이블 열을 만들 것입니다.내부 루프는 대출의 속성에 대해 반복되며 각각의 값이 포함된 테이블 셀을 표시합니다.
언급URL : https://stackoverflow.com/questions/48812869/displaying-json-object-into-a-table-using-vuejs
'programing' 카테고리의 다른 글
JavaScript 개체의 내용을 인쇄하시겠습니까? (0) | 2022.10.27 |
---|---|
잘못된 날짜/시간 형식: 1366 잘못된 문자열 값 (0) | 2022.10.27 |
알 수 없는 열 ''field list'에 ID가 있지만 목록에 열이 있습니다. (0) | 2022.10.27 |
PHP 어레이에서 CSV로 (0) | 2022.10.27 |
MySQL 설명 계획에서 "Select tables optimized away"의 의미 (0) | 2022.10.27 |