使用Svelte,我要完成的工作是能够使用我拥有的html
对象的css
属性来为post
设置样式。
我认为,没问题,只需使用svelte:head
向我的{post.css}
添加样式标签即可。它将我的post.css
数据直接放到样式标签中,问题解决了。但是,不,问题没有解决。在浏览器中查看元素时,会看到
<style>{post.css}</style>
代替
<style>
p{
color: purple;
font-weight: 900;
}
</style>
我创建了一个变通方法,在innerText
之后设置<style>
标签的onMount
,但是我不喜欢它,并且希望做得更干净。方式。
我想要什么...
<script>
export let post = {
html: `<p>This is purple</p>`,
css : `
p{
color: purple;
font-weight: 900;
}
`
}
</script>
<svelte:head>
<style>{post.css}</style>
</svelte:head>
{@html post.html}
我需要做些什么才能使其工作……
<script>
import { onMount } from "svelte";
export let post = {
html: `<p>This is purple</p>`,
css : `
p{
color: purple;
font-weight: 900;
}
`
}
onMount(() => {
let styler = document.getElementById("styler");
styler.innerText = post.css
});
</script>
<svelte:head>
<style id="styler"></style>
</svelte:head>
{@html post.html}
如果您还有其他选择,可以使用css
属性为html
对象的post
属性设置样式,或者知道如何让Svelte在其中识别{post.css}
<style>
标签,请让我知道。
答案 0 :(得分:2)