Невозможно динамически создавать стили с областью css, так как они создаются vue -router во время сборки, а не в клиенте.
Однако ваш текущий код должен работать, если вы хотите применить стиль элемента <div>
, просто включите стиль в фигурные скобки:
{
"id":"11",
"html":"<button>this is button</button>",
"style":"font-size:18vw;color:#f00;",
"author":"Test"
}
<div class="elements-head" v-html="item.html" :style="item.style">
пример: https://jsfiddle.net/ellisdod/q3L5ahke/
Dynami c Components
Однако, если вы хотите применить стили к элементу, лучше использовать динамические c компоненты. Недостатком этого является то, что вам нужно зарегистрировать все ваши html скрипты как компоненты - вы можете написать al oop, чтобы сделать это программно из вашего json.
Vue.component('MyButton',{
template:'<button>this is button</button>'
})
{
"id":"11",
"component":"MyButton",
"style":"font-size:18vw;color:#f00;",
"author":"Test"
}
<component :is="item.component" :style="item.style">
пример: https://jsfiddle.net/ellisdod/oju1m7q8/