Использование «фасад» против «проп» vue приложения - PullRequest
0 голосов
/ 08 июля 2019

Это более общий вопрос о том, какая рекомендуемая структура или шаблон могут быть в структуре FE.В настоящее время создается приложение, цель которого - использовать как можно больше общих компонентов.У меня есть searchTerms компонент, который получает «условия» от API.Проблема, с которой мы столкнулись, заключалась в том, что на самом деле API имеет разные маршруты в разных местах, где мы используем компонент.Моей первоначальной мыслью было дать компоненту prop из :section где будет известно о разделе, а затем применить правильный маршрут API.Другим вариантом, о котором мне сказали, было создание apiFacade (по-видимому, это шаблон, используемый в C #), который я сделал, и в этом случае я смог создать экземпляр фасада, не зная компонента, где он используется, например:

//parent component
      <searchterms :type="type" :apiFacade="apiFacade" :mode="mode" @loading="loaderDisplay"></searchterms>
data(){
  return {
    apiFacade: new SearchTermsApiFacade(this.$api),
    ...
//child component

 export default {
    name: "searchterms",
    props: {
      type: String,
      apiFacade: Object,
    },
    ...
    try {
            await this.apiFacade.createSearchTerm(payload);

Мне интересно, что считается "лучшей" практикой.Лично я подумал, что пропускать реквизит проще и иметь условную логику в совместно используемом компоненте хорошо, но, может быть, я что-то упустил?

...