首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将数组从视图Laravel加载到Vue组件

将数组从视图Laravel加载到Vue组件
EN

Stack Overflow用户
提问于 2021-01-19 22:05:21
回答 1查看 121关注 0票数 1

我有一个新项目,我想在Vue组件中加载Laravel视图中的数组。

对于testint,我有相同的html元素,SELECT,通过两种方式创建: Laravel和Vue组件。

html代码:

代码语言:javascript
运行
复制
     <!-- Laravel SELECT Element -->

     <div class="form-group">
         <label for="customer">Client</label>
               <select 
                      name="customer"
                      class="form-control @error('customer')
                          is-invalid
                      @enderror"
                      id="customer">
                            <option value="">-- Seleciona -</option>
                                 @foreach($customers as $customer)
                                      <option 
                                            value="{{ $customer->id }}" 
                                            {{ old('customer') == $customer->id ? 'selected' : '' }}>{{ $customer->customer_name }}</option>
                                 @endforeach
               </select>
               
               @error('customer')
                     <span class="invalid-feedback d-block" role="alert">
                           <strong>{{$message}}</strong>
                     </span>
               @enderror
    </div>
    
    <!-- End Laravel SELECT Element -->



    <!-- Vue Component SELECT Element -->

    <create-task-jobs v-bind:customers={{ json_encode($customers) }}>
                            
    </create-task-jobs>

    <!-- End Vue Component SELECT Element -->

Vue组件代码:

代码语言:javascript
运行
复制
<template>
  <div>
    <form @submit.prevent="agregar">
      <h3>Afegir Tasques</h3>
            <b-form-group id="input-group-3" label="Client" label-for="input-3">
                <b-form-select
                id="input-3"
                v-model="form.customer"
                :options="customers_load"
                required
                ></b-form-select>

            </b-form-group>

      <button class="btn btn-primary" type="submit">Agregar</button>
      
    </form>
  </div>

  
</template>

<script>
  export default {
    props: {
      customers: Array
    },
    data() {
      return {
        form: {
          customer: null,
        },
        customers_load: [{ text: 'Select One', value: null },...this.customers]
      }
    }
  }
</script>

Laravel中的SELECT运行良好,正确显示customer_name和id,但问题出在Vue组件中SELECT的值为空:

进入组件的数组为空,我不确定发生了什么。

更新:

数组对象dd:

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2021-01-19 23:17:22

试一下这个,只要稍加改动,

代码语言:javascript
运行
复制
<create-task-jobs v-bind:customers={{ json_encode($customers->pluck('customer_name', 'id')) }}></create-task-jobs>

因为它不会生成键值对。您将通过dd $customers来理解它

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65793112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档