javascript - Vue 内容在父组件之外渲染

标签 javascript php laravel vue.js

当我在 @foreach 标签内加载 vue 组件时,它首先在其父组件之外渲染。

 //view 
     <div class="contenido" style="padding-top:5%">

         <table class="table">
                <thead class="thead-dark">
                    <tr>
                        <th class="col-md-8">Nombre descripción general</th>
                        <th class="col-md-2">Actualizar</th>
                        <th class="col-md-2">Consultar</th>
                    </tr>
                </thead>
                <tbody>
                @foreach($descs as $desc)
                        <tab-descgen desc-nombre = "{{ $desc -> nombre }}" desc-id = "{{ $desc -> id }}"></tab-descgen>
                @endforeach
                </tbody>

            </table>

   //vue component
   <template>
    <tr >
         <td>{{ this.descNombre }}</td>
     <td><i style="font-size:30px;" class="fa fa-edit float-center"></i> 
 </td>
     <td><i style="font-size:30px;" class="fa fa-arrow-circle-right 
   float-center"></i></td>
  </tr>
   </template>

  <script>
    export default {
       props:['descNombre', 'descId'],

当它被渲染时,vue 组件内的表格行将被渲染在标题上方,我不太明白为什么。我想知道我是否遗漏了什么。

最佳答案

即使忽略所有服务器端的东西,这也行不通:

<tbody>
  <tab-descgen></tab-descgen>
</tbody>

在单文件组件中会很好,但如果此标记进入浏览器(就像您的情况一样),它会将 tab-descgen 从表格中删除在 Vue 接近它之前。

您需要使用 is 来解决这个问题:

<tbody>
  <tr is="tab-descgen"></tr>
</tbody>

文档中对此进行了解释:

https://v2.vuejs.org/v2/guide/components.html#DOM-Template-Parsing-Caveats

简而言之,仅允许 tr 元素作为 tbody 的直接子元素,其他任何内容都会被删除。解决方法是使用 tr,然后使用 is 让 Vue 知道您真正想要什么。

关于javascript - Vue 内容在父组件之外渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56651841/

相关文章:

laravel - 为集合分页,Laravel

php - url中参数为空laravel如何处理

php - Laravel Eloquent,返回两个条件都为 True 的行

javascript - 为什么我的 facebook graph api 调用执行错误回调函数

javascript - 尝试将 React 连接到 redux

php - 使用 angularjs 使用 where 子句从数据库获取数据

php - 在 json_encode() 中包含一个文件

php - Codeigniter $this->db->order_by (' ' ,'desc' ) 结果不完整

javascript - 我们不能在 React.js 的数组中迭代material-ui吗?

javascript - 这个 Javascript 计数循环是如何工作的? - 创建测验的输出