ShadowOfCasper
@ShadowOfCasper
Middle User Interface Web Developer

Почему не работает директива v-html?

Я хочу вывести разметку svg иконки внутрь блока, созданного в компоненте, в который я через props доставляю эту иконку.
<script>
	var Vue = require("vue/dist/vue.js");
	vHeader = Vue.component("vheader", {
		props: ['icons'],
		created: function(){
			console.log(this.$props);
		}
	});
	module.exports = vHeader;
</script>
<template>
	<header class='header'>
		<div class='plate row row--center-y row--between-x'>
			<div class='header__logo' v-html='icons.projectMenu'></div>
		</div>
	</header>
</template>

В Vue DevTools props есть, вывел в консоль при в колбэке created - тоже есть. Но на страницу не рендерится. Ошибок нет ни в терминале, ни в браузере. Код экземпляра (осторожно - кофе. я не сплю в 5м часу ночи):
Vue = require "vue/dist/vue.js"
axios = require 'axios'
class VueEntry
	init: ->
		new Vue 
			el: "#vhead"
			data: ->
				return "icons": {}
			components: 
				"vheader": require("./header/header.vue")
			created: ->
				that = this
				axios.get('/jsondata/etc/icons.json')
					.then (resp) ->
						Object.assign that.$data.icons, resp.data
					.catch (err) ->
						console.log err


module.exports = VueEntry
  • Вопрос задан
  • 1121 просмотр
Пригласить эксперта
Ответы на вопрос 1
@deworkers
Middle front-end, UI designer
Не очень понимаю как у вас устроено, но скажу точно. Добавляемые в объект новые параметры реактивно не отслеживаются подробнее тут
Как вариант получать данные промисом
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы