The Codest
  • Apie mus
  • Paslaugos
    • Programinės įrangos kūrimas
      • Priekinės dalies kūrimas
      • Galinės dalies kūrimas
    • Staff Augmentation
      • Priekinės dalies kūrėjai
      • Atgalinės versijos kūrėjai
      • Duomenų inžinieriai
      • Debesų inžinieriai
      • QA inžinieriai
      • Kita
    • Patariamoji tarnyba
      • Auditas ir konsultacijos
  • Pramonės šakos
    • Fintech ir bankininkystė
    • E-commerce
    • Adtech
    • Sveikatos technologijos
    • Gamyba
    • Logistika
    • Automobiliai
    • IOT
  • Vertė už
    • CEO
    • CTO
    • Pristatymo vadybininkas
  • Mūsų komanda
  • Case Studies
  • Sužinokite, kaip
    • Tinklaraštis
    • Susitikimai
    • Interneto seminarai
    • Ištekliai
Karjera Susisiekite su mumis
  • Apie mus
  • Paslaugos
    • Programinės įrangos kūrimas
      • Priekinės dalies kūrimas
      • Galinės dalies kūrimas
    • Staff Augmentation
      • Priekinės dalies kūrėjai
      • Atgalinės versijos kūrėjai
      • Duomenų inžinieriai
      • Debesų inžinieriai
      • QA inžinieriai
      • Kita
    • Patariamoji tarnyba
      • Auditas ir konsultacijos
  • Vertė už
    • CEO
    • CTO
    • Pristatymo vadybininkas
  • Mūsų komanda
  • Case Studies
  • Sužinokite, kaip
    • Tinklaraštis
    • Susitikimai
    • Interneto seminarai
    • Ištekliai
Karjera Susisiekite su mumis
Atgal rodyklė GRĮŽTI ATGAL
2022-06-02
Programinės įrangos kūrimas

Nustoti naudoti Vue parinkčių API

The Codest

Paweł Dlugosz

Vue.js kūrėjas

Kodėl neturėtumėte naudoti parinkčių API programoje "Due"? Atsakymą į šį klausimą rasite šiame straipsnyje ir sužinosite, kokią naudą teikia Composition API.

Vue 3 pristatė naują komponentų kūrimo metodą, vadinamą Sudėtis API. Tai alternatyva Parinkčių API. Kompozicijos API yra visiškai neprivaloma ir jums nereikia jos naudoti, jei norite naudoti Vue 3. Tačiau joje įdiegta keletas svarbių patobulinimų, kurie palengvina jūsų darbą ir pagerina žurnalo skaitomumą. kodas.

Sudėties API privalumai, palyginti su parinkčių API

1. Geresnis kodo organizavimas ir skaitomumas.

Kompozicijos API įdiegtas naujas metodas, vadinamas sąranka. Jame galite sukurti visus būtinus komponento elementus, pvz: duomenys, metodai, apskaičiuotos savybės, stebėtojai. Dėl to galite išlaikyti švarų kodą, nes už tam tikrą funkciją atsakingą logiką galite patalpinti vienoje vietoje. Priešingai, parinkčių API privertė išsklaidyti logiką visame faile. Dėl to kodas buvo neįskaitomas ir jį reikėjo slinkti. Kompozicijos API metodų, stebėtojų ir kt. nebereikia grupuoti pagal tipą, juos galite išdėstyti taip, kaip jums atrodo tinkama.

API parinktys ir sudėties pavyzdys

2. Logikos išskyrimas ir pakartotinis naudojimas.

Kompozicijos API leidžia rašyti reaktyvųjį kodą bet kur. Galite ištraukti tam tikrą reaktyviąją logiką už komponento ribų. Tokio tipo kodas vadinamas Kompozicinės medžiagos. Kompozitinius elementus galima importuoti į daugelį komponentų, o tai suteikia galimybę įkapsuliuoti tam tikrą logiką ir atskleisti būtinus reaktyviuosius elementus.

// shopping-list.js
importas ( computed ) iš "vue";

export function useShoppingList(listId) (
  const products = shoppingList.getAllProducts(listId);
  const productsCount = computed(() => products.value.length);
  const deleteProduct = (productId) => shoppingList.deleteProduct(productId);

  return (
    products,
    productsCount,
    deleteProduct,
  );
)

// Komponentas
import useSpoppingList iš "@/composables/shopping-list.js";
export default (
  setup() (
    const ( products, productsCount, deleteProduct ) = useSpoppingList();
    return ( products, productsCount, deleteProduct );
  ),
);

3. Lengvai naudokite konstantas ir išorinius išteklius komponente.

Jei norite pridėti, pvz., statinį elementų sąrašą, importuotą iš kito failo, į parinkčių API turite jį pridėti prie funkcijos data() (tai turi neigiamą poveikį našumui) arba pridėti prie funkcijos šis svetainėje sukurta(). Abu būdai nėra labai elegantiški. Kompozicijos API ir naujoji sąranka metodą, iš kurio galima eksportuoti ne tik reaktyvius dalykus, bet ir konstantas bei išorines priklausomybes.

importuoti sąrašą iš "./list.json";
eksportas pagal nutylėjimą (
  setup() (
    return ( list );
  ),
);
  1. Galite net naudoti Vue 2 kompozicijos API.

Dėkojame oficialiai @vue/composition-api įskiepį, galite naudoti kompozicijos API Vue 2 taip pat.

Kaip naudotis naująja kompozicijos API?

<h3>Sąrankos metodas</h3>

setup() - tai naujas metodas, pridėtas į Vue 3 į kurią galite įdėti visus reikiamus elementus, pavyzdžiui, duomenų objektus, metodus ir pan. Iš ten galite grąžinti elementus, kuriuos norite įtraukti į šabloną.

<template>
  <div>((( skaičiuoti ))</div>
</template>
importuoti ( ref ) iš "vue";
eksportas pagal nutylėjimą (
  setup() (
    const count = ref(10);
    return ( count );
  ),
);

reaktyvus()

Norėdami sukurti reaktyvųjį objektą arba masyvą, turite jį sukurti naudodami reaktyvus(defaultValue) metodas. Pradinę šio objekto vertę galite perduoti kaip metodo argumentą. Metodas grąžina proxy šiam objektui, todėl, kai jį pakeisite, Vue žino apie juos ir gali tinkamai atnaujinti rodinį.

Sudėtis API

importuoti ( reactive ) iš "vue";
eksportas pagal nutylėjimą (
  setup() (
    const user = reactive((
      name: "John",
      vaidmuo: "ADMIN",
    ));
    return ( user );
  ),
);

Parinkčių API

eksportas pagal numatytuosius nustatymus (
  data() (
    return (
      user: (
        vardas: "John",
        vaidmuo: "ADMIN",
      ),
    );
  ),
);

Reactive tik veikia objektų tipams (objektams, masyvams ir kolekcijų tipams, pvz. Žemėlapis ir Nustatyti). Jame negalima laikyti primityvių tipų, pvz. eilutė, numeris arba boolean. Taigi Vue taip pat pristato ref().

ref()

Norėdami pridėti reaktyvumo primityviems elementams, turite juos apgaubti ref().

Sudėtis API

importuoti ( ref ) iš "vue";
eksportas pagal nutylėjimą (
  setup() (
    const count = ref(10);
    return ( count );
  ),
);

Parinkčių API

eksportas pagal numatytuosius nustatymus (
  data() (
    return (
      count: 10,
    );
  ),
);

Reaktyvinių objektų keitimas

Objektų reikšmes galite keisti tiesiogiai naudodami reaktyvųjį metodą, tačiau norėdami keisti primityviąsias reikšmes turite naudoti .value srityje.

importuoti ( ref, reactive ) iš "vue";
eksportas pagal nutylėjimą (
  setup() (
    const user = reactive((
      name: "John",
    ));
    user.name = "John Doe"; // Vertės pakeitimas

    const count = ref(10);
    count.value = 20; // Vertės pokytis

    return (
      user,
      count,
    );
  ),
);

Jūs ne reikia naudoti .value šablono savybė.

<div>((( skaičiuoti ))</div>

Apskaičiuotos savybės

Apskaičiuotas savybes galima lengvai sukurti perduodant metodą kaip parametrą importuotam apskaičiuota() metodas.

importuoti ( reactive, computed ) iš "vue";
eksportas pagal nutylėjimą (
  setup() (
    const list = reactive([
      "Item 1",
      "Item 2",
    ]);

    // Apskaičiuota
    const isEmpty = computed(() => list.length === 0);

    return (
      list,
      isEmpty,
    );
  ),
);

Metodai

Taip pat galite įterpti metodus į sąranka metodas.

Sudėtis API

importuoti ( ref ) iš "vue";
eksportas pagal nutylėjimą (
  setup() (
    const count = ref(10);

        // Metodas
    const increment = () => (
      count.value++;
    );

    return (
      count,
      inkrementas,
    );
  ),
);

Stebėtojai

Stebėtojai kuriami panašiai kaip apskaičiuota. Tačiau nepamirškite perduoti proxy objektas, t. y. pavadinimaskaip toliau pateiktame pavyzdyje, o ne name.value pati vertė.

importuoti ( watch, ref ) iš "vue";
eksportas pagal nutylėjimą (
  setup() (
    const name = ref("John");
        // Watcher
    watch(name, (currentValue, oldValue) => (
      console.log(`Vertė pakeista iš $(oldValue)į $(currentValue)`);
    ));
    return ( pavadinimas );
  ),
);

Santrauka

Šiame straipsnyje pateikiau tik kompozicijos API pagrindus, kad turėtumėte bendrą supratimą, kuo ji skiriasi ir kokių privalumų turi, palyginti su parinkčių API. Kompozicijos API taip pat suteikia alternatyvų kitiems komponento elementams, pvz. kabliukaiir pristato naujus metodus, pvz. watchEffect. Verta jį perskaityti oficialioje Vue 3 dokumentai.

bendradarbiavimo vėliava

Susiję straipsniai

Programinės įrangos kūrimas

Veiksmingi Javascript įrankiai

Atraskite keletą JavaScript paieškos įrankių, kurie padės patobulinti jūsų programavimo žaidimą. Sužinokite daugiau apie ESLint, Prettier ir Husky!

The Codest
Reda Salmi React kūrėjas
Programinės įrangos kūrimas

Vidaus ir išorės programuotojų samdymas

Ar samdote darbuotojus iš vidaus, ar iš išorės? Tai didžiausia dilema! Sužinokite outsourcing ar vidinės komandos kūrimo privalumus šiame straipsnyje.

The Codest
Grzegorz Rozmus "Java" padalinio vadovas
Programinės įrangos kūrimas

React privalumai ir trūkumai

Kodėl verta naudoti React? Kokių privalumų turi ši JavaScript biblioteka? Norėdami sužinoti atsakymus, pasinerkite į šį straipsnį ir sužinokite tikruosius React naudojimo privalumus.

The Codest
Cezary Goralski Software Engineer
Programinės įrangos kūrimas

Čempionų palyginimas: Angular ir Vue

Šiuo metu yra keli dažniausiai naudojami ir kūrėjų nuolat tobulinami frontend karkasai, kurių kiekvienas šiek tiek skiriasi vienas nuo kito. Ir vis dėlto jie gali turėti kai ką bendro. Čia...

Oliwia Oremek

Prenumeruokite mūsų žinių bazę ir būkite nuolat informuoti apie IT sektoriaus patirtį.

    Apie mus

    The Codest - tarptautinė programinės įrangos kūrimo bendrovė, turinti technologijų centrus Lenkijoje.

    Jungtinė Karalystė - būstinė

    • 303B biuras, 182-184 High Street North E6 2JA
      Londonas, Anglija

    Lenkija - vietiniai technologijų centrai

    • Fabryczna biurų parkas, Aleja
      Pokoju 18, 31-564 Krokuva
    • Brain Embassy, Konstruktorska
      11, 02-673 Varšuva, Lenkija

      The Codest

    • Pagrindinis
    • Apie mus
    • Paslaugos
    • Case Studies
    • Sužinokite, kaip
    • Karjera
    • Žodynas

      Paslaugos

    • Patariamoji tarnyba
    • Programinės įrangos kūrimas
    • Galinės dalies kūrimas
    • Priekinės dalies kūrimas
    • Staff Augmentation
    • Atgalinės versijos kūrėjai
    • Debesų inžinieriai
    • Duomenų inžinieriai
    • Kita
    • QA inžinieriai

      Ištekliai

    • Faktai ir mitai apie bendradarbiavimą su išoriniu programinės įrangos kūrimo partneriu
    • Iš JAV į Europą: Kodėl Amerikos startuoliai nusprendžia persikelti į Europą?
    • Technikos plėtros centrų užsienyje palyginimas: Tech Offshore Europa (Lenkija), ASEAN (Filipinai), Eurazija (Turkija)
    • Kokie yra svarbiausi CTO ir CIO iššūkiai?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Website terms of use

    Autorinės teisės © 2026 The Codest. Visos teisės saugomos.

    lt_LTLithuanian
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian es_ESSpanish nl_NLDutch etEstonian elGreek pt_PTPortuguese cs_CZCzech lvLatvian lt_LTLithuanian