В приложении vue.js (1.0.26), построенном с помощью webpack (1.13.1) и vue-loader (8.5.3), При импорте компонента, который это всего лишь часть svg.Недопустимый самозакрывающийся тег в svg
here is a repo with this problem
родительский компонент:
<template>
<svg viewBox="0 0 1280 512">
<axis-x></axis-x>
</svg>
</template>
<script>
import axisX from './axis-x.vue';
export default {
components: {
axisX
}
}
</script>
ребенок компонент:
<template>
<g>
<line x1="1" y1="400" x2="1" y2="416" style="stroke:black;stroke-width:1" />
<text x="16" y="414" fill="black">1990</text>
</g>
</template>
<script>
export default {
};
</script>
когда WebPack работает он делает следующую ошибку:
ERROR in ./src/axis-x.vue
2 | <g>
3 | <line x1="1" y1="400" x2="1" y2="416" style="stroke:black;stroke-width:1" />
| ^
4 | <text x="16" y="414" fill="black">1990</text>
Invalid self-closing tag: <line x1="1" y1="400" x2="1" y2="416" style="stroke:black;stroke-width:1" />.
This will be treated as the starting tag only in HTML5. Use <line></line> instead.
Похоже, загрузчик интерпретирует часть svg как недопустимый HTML.
Как исправить эту проблему? Thanks
закрытия линии работает? <строка x1 = "1" y1 = "400" x2 = "1" y2 = "416" style = "ход: черный, ширина штриха: 1"> –
он действительно работает ... Но все еще действует SVG ? –
да, вы также можете добавить другие элементы http://stackoverflow.com/a/2529032/4690316 –