Я хочу создать похожие компоненты. Они будут выполнять грубые операции с RESTful API-сервером. Я создал первый компонент, подобный этому
name: 'tags',
components: {Status},
data() {
return {
tag: {},
tags: [],
modalState: {
title: 'Create'
}
}
},
mounted() {
this.getAll('tags');
axios
.get(rootUrl + '/statuses')
.then(response => (this.statuses = response.data));
},
methods: {
findTag(index) {
this.tag = this.tags[index];
},
createTag() {
axios
.post(rootUrl + '/tags', this.tag)
.then(response => {
if (response.status === 201) {
axios
.get(rootUrl + '/tags')
.then(response => (this.tags = response.data));
} else {
console.log('error');
}
}
);
},
updateTag(id) {
axios
.put(rootUrl + '/tags/' + id, this.tag)
.then(response => {
if (response.status === 201) {
axios
.get(rootUrl + '/tags')
.then(response => (this.tags = response.data));
} else {
console.log('error');
}
}
);
},
deleteTag(id) {
axios
.post(rootUrl + '/tags/' + id, {_method: 'delete'})
.then(response => {
if (response.status === 200) {
axios
.get(rootUrl + '/tags')
.then(response => (this.tags = response.data));
} else {
console.log('error');
}
}
);
},
getStatusById(status_id = null) {
if (status_id) {
return this.statuses.find(x => x.id === status_id);
}
}
}
Я хочу создать следующий компонент с именем channels
, и компонент будет таким же, как этот. Различия будут только в слове channels
. Я не знаю, как использовать наследование в VueJs или добавить любой компонент TS. Так как я могу оптимизировать мой код. Я хочу импортировать любой компонент с именем http
, установить его базовый компонент и исходный URL-адрес, и он будет работать как все подобные операции crud.