【发布时间】:2018-09-06 01:42:50
【问题描述】:
我想动态更新样式inside样式标签。
但是,为 Vue 创建容器模型会删除 style 标记。
我知道样式标签应该放在页面的头部,但这只是为了方便使用。
所以我想要的是一个包含元素和样式标签的包装器:
<div class="setting">
<style>
.setting input {
background: {{bgColor}};
}
</style>
<input class="setting" type="text" v-model="bgColor">
</div>
输入的值应该更新css样式的值。 无论何时使用简单的 div 元素都可以,但样式标签似乎是个问题
javascript设置如下:
new Vue({
el: '.setting',
data: {
bgColor: 'red'
}
});
但是,当样式标签具有特定 id 时,这可以工作,但我无法将其绑定到输入字段。
<style id="setting">
#blue {
background: {{bg}}
}
#blue:hover {
background: {{bgHover}}
}
</style>
<div id="blue"></div>
和js:
new Vue({
el: '#setting',
data: {
bg: 'blue',
bgHover: 'red'
}
});
谁能帮助我了解如何在样式标签之间实现更新值。 jsfiddle set up
谢谢。
【问题讨论】:
-
为什么要这样做而不是数据绑定到元素的样式?
-
@zero298 某些样式需要悬停、媒体查询等。
标签: javascript vue.js vuejs2