#要件
タイトル通りなのですが、元々あるphp(データベースから取り出した連想配列)を
JSONにし、それをVueのデータとして取り扱えられるようにしたい
#できたこと
1.php→JSONに変更
2.JSON→Vueのdataに格納
3.ビュー内でまとめて表示
#できていないこと
まとめては表示されるのですが
idやnameを個別に表示することができない
php
1<?php 2 $data = array( 3 array( 4 'Shop' => array( 'id' => '1', 'name' => 'A' ), 5 ), 6 array( 7 'Shop' => array( 'id' => '2', 'name' => 'B' ), 8 ), 9 ); 10 $list_json = json_encode($data, JSON_UNESCAPED_UNICODE); 11?> 12 13<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 14<html lang="ja"> 15<head> 16<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 17<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> 18<script src="https://cdn.jsdelivr.net/npm/axios@0.17.1/dist/axios.min.js"></script> 19<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.5/lodash.min.js"></script> 20<title>Vue App</title> 21</head> 22<body> 23 <div id="app"> 24 <div v-for='items in list'> 25 <!-- こっちは出る --> 26 {{ items.Shop }} 27 <ul> 28 <li v-for='item in items.Shop'>{{ item }}</li> 29 </ul> 30 31 <!-- ここがうまく出ない(要素を指定して表示させたい) --> 32 <div v-if="items.Shop.length > 0"> 33 <div v-if="items.Shop.length > 0"> 34 <div v-for='item in items.Shop'>{{ item.id }}{{ item.name }}</div> 35 </div> 36 </div> 37 </div> 38 </div> 39 <script> 40 let list = JSON.parse('<?php echo $list_json; ?>'); 41 console.log(list); 42 const app = new Vue({ 43 el: '#app', 44 data: { 45 list: list 46 } 47 }); 48 </script> 49</body> 50</html>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/20 10:17