将数组传递给Vue中的Laravel视图

时间:2019-03-27 08:56:35

标签: arrays laravel vue.js

在laravel中,我有ProdoctController和CategoryController, 我通过以下功能传递类别数据:

public function view(){
  $category = Category::all();
  return view('admin.product.main',['category'=>$category]);
}

它在laravel中以正常模式工作:

<select>
 @foreach(category as categories)
   <option value='{{category->id}}">{{category->name}}</option>
 @endforeach
</select>

但是在vue js中,我有一个类别:[]在数据中, 我想用这个:

<select v-model="ProductCategory">
<option v-for="category in categories" :value="categories.id">categories.name</option>
</select>

如何在类别数组中传递数据?

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

<script type="text/javascript">
    window.data = {!! json_encode([
        'categories' => $categories,
    ]) !!};
</script>

<select v-model="ProductCategory">
    <option v-for="category in window.data.categories" :value="category.id">category.name</option>
</select>

第一部分将类别带到JavaScript的视图中,然后Vue可以访问它们。我认为您应该修复category/categories变量,如果这是一个真实的代码,则说明您未正确使用它们,例如当您有很多的集合并且只有一个的时候。