Вы можете установить атрибуты элемента, используя директиву v-bind
, которой можно передать объект, где каждый ключ является атрибутом, а значение - значением для атрибута.
Вы говорите, что передаетеатрибуты, которые вы хотели бы связать в качестве опоры.Я собираюсь предположить вашу структуру данных, поскольку вы не указали (если это не ваша структура данных, вам необходимо создать вычисляемое свойство для форматирования данных таким образом):
{ 'data-a': 'a', 'data-b': 'b', 'data-c': 'c' }
А затем, предполагая, что имя вашей опоры attrs
, вы просто добавили бы атрибуты к входу, используя v-bind
, например, так:
<input type="text" v-bind="attrs">
Вот пример:
Vue.component('child', {
template: `<input type="text" v-bind="attrs">`,
props: {
attrs: { Object, default: () => ({}) }
}
});
new Vue({
el: '#app',
data() {
return {
myAttrs: {
'data-a': 'a',
'data-b': 'b',
'data-c': 'c',
}
}
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<child :attrs="myAttrs"></child>
</div>