vue component html,Passing html into Vue component

本文探讨了在Vue中如何优化复杂HTML内容的传递方式。通过使用Slots而非属性来传递HTML内容,可以有效提升代码的可读性和维护性。此外,还介绍了如何利用v-html指令注入原始HTML。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

At the moment I pass some parameters into a vue component

:images= "['/img/work/slide2.png', '/img/work/slide2.png', '/img/work/slide3.png']"

:html="['

hello
', '
goodbye
']"

The slider is either an 'html' slider or one with images.

This works fine although the html I pass in is going to get a lot more complex, maybe 30 lines and this will be harder to read and manage as params.

Can I pass in an external reference and pull that into the component?

{{ content }}

As you can see the loop in the component is a very simple v-for.

回答1:

Don't pass HTML using attributes but using Slots:

Suppose we have a component called my-component with the following template:

I'm the child title

This will only be displayed if there is no content

to be distributed.

And a parent that uses the component:

I'm the parent title

This is some original content

This is some more original content

The rendered result will be:

I'm the parent title

I'm the child title

This is some original content

This is some more original content

You can also use Named Slots if you want to pass more than one field containing HTML.

回答2:

You can inject raw html into Vue components with the v-html directive.

来源:https://stackoverflow.com/questions/44923775/passing-html-into-vue-component

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值