当前位置: 首页 > 知识库问答 >
问题:

映像在vue组件中工作,而不在其他组件中工作

申屠喜
2023-03-14

所以我在刀片文件中有一个vue组件(我使用laravel),该组件显示所有带有v的图像,用于使用axios获取的数据,而第二个组件仅显示一个带有通过道具传递的数据的图像。我的问题是v-img中的src(我也使用vuetify)在第一个组件中工作,但在第二个组件中不工作,即使链接是相同的,并且两个组件都在位于同一文件夹中的刀片文件中调用:显示所有图像刀片文件:

@extends('layouts.app')

@section('content')
<div id="app">
      <show-images></show-images> 
</div>
@endsection

显示图像vue文件:

<template>
    <div class="container">
        <v-layout row wrap>
            <v-flex 
            xs12 sm6 md4 lg3
            v-for="image in images" :key="image.id"
            >
            <a :href="'images/' + image.id">
            <v-card
            shaped
            hover

            class="text-center mx-3 my-3">

            <v-responsive class="pt-4">
                <v-img
                lazy-src="https://via.placeholder.com/300?text=Something+Went+Wrong"
                aspect-ratio="1"
                src="blue-hole.jpg"
                ></v-img>
            </v-responsive>

            <v-card-text>
                <div class="subheading">{{image.title}}</div>
            </v-card-text>

            </v-card>
            </a>
            </v-flex>


        </v-layout>



   <div class="text-center">
    <v-pagination
      v-model="pagination.current"
      :length="pagination.total"
      @input="onPageChange"
      color="white"
      dark
    ></v-pagination>
  </div>
</div>
</template>

<script>
export default {
    data(){
        return{
            images:[],
            pagination: {
                current: 1,
                total: 0
            }
        }
    },
    methods: {
        getImages(){
            axios.get('api/getImages?page=' + this.pagination.current)
            .then(response => {
            this.images = response.data.data;
            this.pagination.current = response.data.current_page;
            this.pagination.total = response.data.last_page;
            });
        },
        onPageChange(){
            this.getImages();
            window.scrollTo(0,0);
        },
        showImage(id){
            console.log(id)
            axios.get('api/showimage/' + id)
        }


    },
    mounted(){
            this.getImages();
            console.log('sup')
    }
}
</script>

显示单个图像刀片文件:

@extends('layouts.app')

@section('content')
<div id="app">
    <show-image :image = '@json($image)'></show-image>
</div>
@endsection

下面是显示图像vue文件:

<template>

    <div>

        <h1 class="subheading gre--text">test</h1>

        <div class="container">
            <div class="row" style="height:100%;border:2px solid blue">
                <div class="col-sm-5" style="border:2px solid red">

                        <v-card flat class="text-center mx-2 my-2">
                            <v-responsive class="pt-4">
                                <v-img
                                lazy-src="https://via.placeholder.com/300?text=Something+Went+Wrong"
                                aspect-ratio="1"
                                src="blue-hole.jpg" 
                                ></v-img>
                            </v-responsive>
                            <v-card-text>
                                <!-- <div class="subheading"> {{image.title}} </div> -->
                                <div class="grey--text"> {{image.file_name}} </div>
                            </v-card-text>
                            <v-card-actions>
                                <v-btn color="grey">
                                    <v-icon left small>mdi-download-outline</v-icon>
                                    <span>Download</span>
                                </v-btn>
                            </v-card-actions>
                        </v-card>

                </div>

            </div>


        </div>




    </div>

</template>


<script>
export default {
    props : [
        'image'
    ],
    data(){
        return{

        }
    },
}
</script>

我甚至尝试使用img标签,认为这是一个vuetify错误,但问题仍然存在。请帮忙。谢谢ps:blue-hole.jpg位于公用文件夹中

共有1个答案

祁飞飙
2023-03-14

在您的代码中,用双引号附上您的@json(Image)指令:

@extends('layouts.app')

@section('content')
<div id="app">
    <show-image :image="{{ json_encode($image) }}"></show-image>
</div>
@endsection
 类似资料:
  • 我创建了一个反应父组件,它将一些道具传递给它的子组件,并持有一个onclick函数。当单击产品组件时,onclick函数应该console.log'WORKED',这不起作用,控制台上没有显示任何内容。我不明白我错在哪里,这应该是如此简单。我是不是犯了一个我一直忽略的愚蠢错误? 这是我的父组件代码: 以下是产品(子)组件的代码:

  • 我在路由Laravel时使用以下中间件: 当我尝试在URL中调用此路径时: 我得到一个错误: 对不起,找不到您要找的页面。 常规采集。RouteCollection处的php第161行-

  • 我正在使用React路由器开发React web应用程序。在我的应用程序中。我已经导入了js文件头和主组件。在home组件中,我有两个组件,分别称为在线银行和信用卡,它们是我从在线银行导入的。js和信用卡。js文件。 当用户单击主页中的链接按钮时。js组件、在线银行和信用卡组件应呈现。 相反,我得到了一个名为error:Invariant failed的错误:您不应该使用 为什么它不起作用? 索引

  • 问题内容: 我刚刚开始一个新的React项目,并决定使用此模式,该模式基本上根据文件各自的组成部分对文件进行分组: 在这种情况下,令人困惑的是index.js的工作方式。如引用: 使用index.js文件可以为组件提供简单的入口点。即使它们增加了噪音,也简化了导入。 什么文章没有做的就是在一个什么样的深度 内的 这些文件。在可编辑组件的情况下,你会和理想是什么样子? 问题答案: 好吧,这种精确的结

  • 我从学习Spring开始,创建基本项目,创建数据库,插入值,然后在web浏览器中打印。我的问题是,当我把RestController放在同一个包中,就像main class一样--这是可以的,但是我想把它分发到其他包中,并且当我创建新包时,移动RestController就不起作用了。让met解释: 我的项目看起来像: 我的pom.xml看起来像 它是自动生成的,我只写一个依赖项