Слышал что в vue есть разные компоненты которые позволяют писать новые теги в html которые дальше заменяются шаблоном каким то, подскажите пожалуйста как это сделать, желательно с примером.
Тут нет ничего сложного, просто на Vue вызываем метод компонент (component) в который нам нужно ввести два параметра, насколько я понял, первый это как будет называться тег в html, а второй это экземпляр vue со специфичными для него данными, и шаблоном в который эти данные будут проецироваться, если попытаться спроецировать данные из другого vue объекта то не сработает)
Vue.component('my-component', {
data: function(){
return {textMessage:'Hello, i am your component!'}
},
template: '{{ textMessage }}
'
})
var Vue = new Vue({
el:"#template",
})
Далее после создания компонента обязательно нужно создать экземпляр класса Vue, который привязать по id к какому то блоку.
<div id="template">
Последний блок кода это привязанный к html vue объект, в который мы размещаем пользовательский компонент, вот и всё)