Vue2 hat bisher ziemlich gut eloquent gelesen, außer für diesen Punkt, wo ich Probleme habe zu debuggen.Vue 2 Laravel 5.3 Eloquent kann Daten vom Objekt nicht abrufen
Geschäfte show.vue
<template>
.....
.....
<div class="row">
{{shop.user.id}}
</div>
.....
.....
</template>
<script>
export default{
mounted(){
this.getShop()
},
methods:{
getShop(){
var vm = this
vm.$http.get('/getShop/'+vm.shopId).then((response)=>{
vm.shop = response.data.data.shop
})
},
.....
.....
}
</script>
ShopController.php
.....
.....
public function getShop($id)
{
$shop = Shop::where('id',$id)->with('user')->firstOrFail();
$response = [
'data' => [
'shop' => $shop
]
];
return response()->json($response);
}
.....
.....
web.php
Route::get('/getShop/{id}', '[email protected]');
hier, wenn ich r ender {{shop.user}}
in meiner Vorlage es mich völlig in Ordnung Objekt der Benutzer gibt Informationen einschließlich wie id
und name
, aber wenn ich {{shop.user.id}}
oder {{shop.user.name}}
es Fehler wie folgenden
Fehler # 1
[Vue warn]: Error when rendering component at /Applications/XAMPP/xamppfiles/htdocs/soyegg/resources/assets/js/components/Shop/Shop-show.vue:
Fehler # 2
Uncaught TypeError: Cannot read property 'id' of undefined at Proxy.render (eval at (app.js:335), :46:47) at VueComponent.Vue._render (eval at (app.js:444), :3096:22) at VueComponent.eval (eval at (app.js:444), :2464:21) at Watcher.get (eval at (app.js:444), :1663:27) at new Watcher (eval at (app.js:444), :1655:12) at VueComponent.Vue._mount (eval at (app.js:444), :2463:19) at VueComponent.Vue$3.$mount (eval at (app.js:444), :6104:15) at VueComponent.Vue$3.$mount (eval at (app.js:444), :8494:16) at init (eval at (app.js:444), :2777:11) at createComponent (eval at (app.js:444), :4120:9)
hat dies nie h vorhin angetan, sehr komisch. Bitte helfen Sie.
'shop' in definiert ist [Daten] (https: // vuejs. org/v2/api/# Optionen-Daten) der vue-Instanz? – Saurabh
was bedeutet das? – warmjaijai
Saurabh hat dieses Problem gelöst, aber diese Frage ist immer noch offen für jeden, der eine bessere und passendere Antwort beitragen kann. Ich freue mich auf. – warmjaijai