【发布时间】:2020-12-29 01:57:42
【问题描述】:
我正在将 VueJs 组件添加到我的 Laravel 应用程序中并且我正在努力解决这个问题:
我有 2 个模型,Concessions 和 Brands,具有这样的多对多关系:
特许经营模式
public function brands()
{
return $this->belongsToMany('App\Brand');
}
品牌型号
public function concessions()
{
return $this->belongsToMany('App\Concession');
}
在控制器中,我从所有让步中获取数据并返回到视图,如下所示:
public function concessions()
{
$concessions = Concession::all();
return view('MyConcessionsView', compact('concessions'));
}
在我的 Laravel View 上,我可以毫无问题地访问 $concessions[0]->brands,一切正常。
所以,我添加了我的 Vue 组件,并将 prop $concessions 传递给该组件:
<concessions-map :con="{{ $concessions }}"></concessions-map>
在我的 Vue 组件上,我接受了 prop 'con',我可以显示该数组中的所有元素。 但是我需要从每个品牌的每个特许权中访问,例如,当我尝试显示 con[0].brands[0] 甚至 con[0].brands 时,它会给我错误 无法读取未定义的属性“品牌” ”。
我什至在 Mounted() 生命周期方法上将此道具传递给 State:
mounted() {
this.concessions = this.con;
}
在 Vue DevTools 上,我有一个包含 35 个对象的数组。但我可以访问每个对象的属性品牌。
有什么建议吗?
提前(非常感谢)!
【问题讨论】: