defineProps做到子组件在不同页面显示不同图片

我还没看到有人将这个方法写具体。

动态绑定图片

如果我们找不到合适的组件icon,我们就会去找图片代替。当我们把一个头部做成组件时:

在子组件里面我们把右边图片设置为三个点,如何通过父子组件传递修改图片的渲染为蓝牙:

子组件

我们把图片放到编译器文件夹,然后在子组件script里面引入图片:

js 复制代码
import imgUrl from '../photo/sandian.png';

通过defineProps设定父组件传递的类型和子组件的默认值:

js 复制代码
defineProps({
    phone:{
        type: String,
        default: [imgUrl] //避免语法错误,default必须是常量
    
    }

})

再将phone动态绑定到页面:

html 复制代码
<img :src="phone" alt="" width="20px" height="20px">

就会把图片默认值渲染到页面。

父组件

同样需要引入图片地址

js 复制代码
import imgL from '../photo/lanya.png'
import NavBar from '../components/NavBar.vue';

在子组件标签里面将引入的图片地址传递给子组件就可以改变图片的渲染:

html 复制代码
<NavBar :phone="imgL"/>
相关推荐
用户693717500138412 分钟前
Google 正在“收紧侧加载”:陌生 APK 安装或需等待 24 小时
android·前端
蓝帆傲亦17 分钟前
Web 前端搜索文字高亮实现方法汇总
前端
用户693717500138417 分钟前
Room 3.0:这次不是升级,是重来
android·前端·google
漫随流水2 小时前
旅游推荐系统(view.py)
前端·数据库·python·旅游
踩着两条虫3 小时前
VTJ.PRO 核心架构全公开!从设计稿到代码,揭秘AI智能体如何“听懂人话”
前端·vue.js·ai编程
jzlhll1234 小时前
kotlin Flow first() last()总结
开发语言·前端·kotlin
用头发抵命4 小时前
Vue 3 中优雅地集成 Video.js 播放器:从组件封装到功能定制
开发语言·javascript·ecmascript
蓝冰凌5 小时前
Vue 3 中 defineExpose 的行为【defineExpose暴露ref变量】详解:自动解包、响应性与实际使用
前端·javascript·vue.js
奔跑的呱呱牛5 小时前
generate-route-vue基于文件系统的 Vue Router 动态路由生成工具
前端·javascript·vue.js