По закрытым частям модулей
Приветствую.
Я вот думаю как покошерней оформляется сейчас вспомогательный код в модуле. Видел что просто функциями делают, ну и я то же пока так: import axios from 'axios' let apiKey = 'овововоов'; let baseUrl = 'https://api.someurl.com'; export default { async fetchMovies(movieType, page = null, cb, errorCb = null, ) { await axios.get(createUrl(movieType, page)) .then((response) => { cb(response.data); }) .catch(function (error) { if (errorCb) { errorCb(error); } }); } } function createUrl(movieType, page = null) { let url = baseUrl . movieType + '?api_key=' + apiKey; return url; } Функция эта снаружи, я так понимаю, видна не будет. В том числе когда и сборщиком все это собирается, ведь да? Но вот насколько этот результат ООП... Вот даже просто когда пишешь модуль для vuex у vue const state = () => ({ omegas: [] }) // getters const getters = { omegas(state) { return state.omegas; }, lastOmega(state) { return state.omegas.length ? state.omegas[state.omegas.length - 1] : null; } } // actions const actions = { setOmegas ({ commit }, payload) { commit('setOmegas', payload) } } //... export default { namespaced: true, state, getters, actions, mutations } , где всю дополнительную работу делать, тот же код, который общий для разных экшенов? Может это как то по-хипстеровей сейчас делается? Например, вот как я этот модуль с api подключаю в других модулях, так и внутри него подключать модуль, который экспортирует объект с методами, требуемыми текущему. |
Часовой пояс GMT +3, время: 22:30. |