Vuejs Это хороший способ реализации услуг? - PullRequest
0 голосов
/ 12 января 2019

Я недавно изучил архитектуру mvc и работал с angular, а сейчас я работаю с vuejs и пытался сделать модели и сервисы более похожими на angular. Это хороший способ, есть ли лучший способ? это услуга

//service for company
import axios from 'axios';
export default{   

    getCompany(id){

        console.log('using function getCompany');

        return axios.get('http://localhost:8000/api/company/'+id);
    },
}

сейчас модель

//model for company
export class CompanyModel{
    name;
    location;
    salary;
    constructor(data){
        this.name = data.name;
        this.location = data.location;
        this.salary = data.salary;
        console.log('CompanyModel constructor is used!');

    }
}

и вот как я использую их в компоненте, чтобы показать компанию

data() {
    return{
       companyModel:{},
    }
},

mounted() {
    CompanyService.getCompany(2)
    .then((response) =>{
        this.companyModel = new CompanyModel(response.data);
    });

},

Проблема: мне нужно знать, достаточно ли это хорошо, или есть ли более естественный способ с vuejs, и мне не нравится, как мне нужно выполнить запрос axios из сервиса, я хотел извлечь весь запрос в обслуживание, которое я не мог .. Спасибо.

1 Ответ

0 голосов
/ 13 января 2019

Я написал хорошую первую версию здесь: Что эквивалентно Angular Service в VueJS?

Затем вы можете соединить это с вашим services, чтобы избежать постоянного вызова axios.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...