Я пытаюсь построить родительско-дочернее дерево в Vue и хочу передать идентификатор DOM / элемента родителя дочернему, чтобы они могли к нему добавить.Вот простой пример того, что я пытаюсь достичь в качестве структуры DOM в браузере:
<div id="my-id">
<p>parent-comp header</p>
<div id="my-id-child">
<p id="my-id-child-content">child-comp content</p>
</div>
<p>parent-comp footer</p>
</div>
Единственный способ, которым я смог сделать это до сих пор, - это дублировать id
в другойсвойство propid
и передайте их обоим вниз по дереву.Это кажется грязным.Посмотрите мой пример кода:
<html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml">
<head>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<parent-comp id="my-id" propid="my-id"></parent-comp>
<script type="application/javascript">
Vue.component('parent-comp', {
props: {
propid: String
},
template: ` <div>
<p>parent-comp header</p><child-comp :id="propid + '-child'" :propid="propid + '-child'"></child-comp><p>parent-comp footer</p>
</div>`,
});
Vue.component('child-comp', {
props: {
propid: String
},
template: `<div>
<p :id="propid + '-content'">child-comp content</p>
</div>`,
});
new Vue({
el: '#my-id'
});
</script>
</body>
</html>
Я предполагаю, что должен быть лучший способ добиться этого?Кажется, это должно быть простой задачей?Спасибо.