window.pipedriveLeadboosterConfig = { bas: 'leadbooster-chat.pipedrive.com', företagId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(funktion () { var w = fönster if (w.LeadBooster) { console.warn('LeadBooster finns redan') } annars { w.LeadBooster = { q: [], on: funktion (n, h) { this.q.push({ t: "o", n: n, h: h }) }, trigger: funktion (n) { this.q.push({ t: 't', n: n }) }, } } })() Sluta använda Options API i Vue - The Codest
Codest
  • Om oss
  • Tjänster
    • Utveckling av programvara
      • Frontend-utveckling
      • Backend-utveckling
    • Staff Augmentation
      • Frontend-utvecklare
      • Backend-utvecklare
      • Dataingenjörer
      • Ingenjörer inom molntjänster
      • QA-ingenjörer
      • Övriga
    • Det rådgivande
      • Revision och rådgivning
  • Industrier
    • Fintech & bankverksamhet
    • E-commerce
    • Adtech
    • Hälsoteknik
    • Tillverkning
    • Logistik
    • Fordon
    • IOT
  • Värde för
    • VD OCH KONCERNCHEF
    • CTO
    • Leveranschef
  • Vårt team
  • Fallstudier
  • Vet hur
    • Blogg
    • Möten
    • Webbinarier
    • Resurser
Karriär Ta kontakt med oss
  • Om oss
  • Tjänster
    • Utveckling av programvara
      • Frontend-utveckling
      • Backend-utveckling
    • Staff Augmentation
      • Frontend-utvecklare
      • Backend-utvecklare
      • Dataingenjörer
      • Ingenjörer inom molntjänster
      • QA-ingenjörer
      • Övriga
    • Det rådgivande
      • Revision och rådgivning
  • Värde för
    • VD OCH KONCERNCHEF
    • CTO
    • Leveranschef
  • Vårt team
  • Fallstudier
  • Vet hur
    • Blogg
    • Möten
    • Webbinarier
    • Resurser
Karriär Ta kontakt med oss
Pil tillbaka GÅ TILLBAKA
2022-06-02
Utveckling av programvara

Sluta använda Options API i Vue

Codest

Paweł Dlugosz

Vue.js-utvecklare

Varför ska du inte använda Options API i Due? Hitta svaret på den här frågan i följande artikel och upptäck fördelarna med Composition API.

Vue 3 introducerade en ny metod för att skapa komponenter som kallas Sammansättning API. Det är ett alternativ till Alternativ API. API:et Composition är helt valfritt och du behöver inte använda det om du vill använda Vue 3. Den innehåller dock några viktiga förbättringar som underlättar ditt arbete och förbättrar läsbarheten av kod.

Fördelar med Composition API jämfört med Options API

1. Bättre kodorganisation och läsbarhet.

API:et Composition introducerar en ny metod som heter inställning. Inuti den kan du skapa alla nödvändiga element i komponenten, t.ex: data, Metoder, beräknade egenskaper, tittare. Tack vare detta kan du hålla koden ren genom att placera den logik som ansvarar för en viss funktion på ett ställe. Options API tvingade däremot fram en spridning av logiken i hela filen. Som ett resultat var koden inte läsbar och krävde rullning. I Composition API behöver metoder, watchers etc. inte längre grupperas efter typ, utan du kan placera dem som du vill.

API-alternativ och exempel på sammansättning

2. Extrahera ut och återanvända logik.

API:et Composition gör att du kan skriva reaktiv kod var som helst. Du kan dra ut en del reaktiv logik utanför komponenten. Den här typen av kod kallas Komposterbara. Composables kan importeras till många komponenter och gör att du kan kapsla in viss logik och exponera de nödvändiga reaktiva elementen.

// shopping-lista.js
importera ( beräknad ) från "vue";

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

  return (
    produkter,
    productsCount,
    deleteProduct,
  );
)

// Komponent
import useSpoppingList från "@/composables/shopping-list.js";
export standard (
  setup() (
    const ( products, productsCount, deleteProduct ) = useSpoppingList();
    returnera ( produkter, productsCount, deleteProduct );
  ),
);

3. Använd enkelt konstanter och externa resurser i komponenten.

Om du vill lägga till t.ex. en statisk lista med objekt som importerats från en annan fil i Options API måste du lägga till den i data() (vilket har en negativ inverkan på prestandan) eller lägga till den i detta i skapad(). Båda sätten är inte särskilt eleganta. API:et Composition och det nya inställning metoden kommer till undsättning, från vilken du kan exportera inte bara reaktiva saker utan även konstanter och externa beroenden.

importera lista från "./list.json";
exportera default (
  setup() (
    returnera ( lista );
  ),
);
  1. Du kan även använda API:et Composition i Vue 2.

Tack vare den officiella @vue/komposition-api plugin, kan du använda Composition API i Vue 2 också.

Hur använder man det nya Composition API?

<h3>Metod för inställning</h3>

setup() är en ny metod som lagts till i Vue 3 där du kan lägga in alla nödvändiga objekt som dataobjekt, metoder etc. Därifrån kan du returnera de element som du vill inkludera i mallen.

<template>
  <div>(( räkna ))</div>
</template>
importera ( ref ) från "vue";
exportera standard (
  setup() (
    const count = ref(10);
    returnera ( count );
  ),
);

reaktiv()

För att skapa ett reaktivt objekt eller en reaktiv array måste du skapa det med reaktiv(defaultValue) metod. Du kan skicka det initiala värdet för detta objekt via ett metodargument. Metoden returnerar ett fullmakt för det här objektet, så när du gör ändringar i det, Vue känner till dem och kan uppdatera vyn på rätt sätt.

Sammansättning API

import ( reactive ) från "vue";
exportera standard (
  setup() (
    const användare = reaktiv((
      namn: "John",
      roll: "ADMIN",
    ));
    returnera ( användare );
  ),
);

Alternativ API

exportera standard (
  data() (
    returnera (
      användare: (
        namn: "John",
        roll: "ADMIN",
      ),
    );
  ),
);

Reactive endast fungerar för objekttyper (objekt, matriser och samlingstyper som t.ex. Karta och Ställ in). Den kan inte innehålla primitiva typer som sträng, antal eller boolean. Så Vue introducerar också ref().

ref()

För att lägga till reaktivitet till primitiva element måste du linda in dem med ref().

Sammansättning API

importera ( ref ) från "vue";
exportera standard (
  setup() (
    const count = ref(10);
    returnera ( count );
  ),
);

Alternativ API

exportera standard (
  data() (
    returnera (
      räkna: 10,
    );
  ),
);

Modifiering av reaktiva objekt

Du kan ändra värden i objekt direkt från den reaktiva metoden, men för att ändra primitiva värden måste du använda .värde fält.

import ( ref, reactive ) från "vue";
exportera standard (
  setup() (
    const användare = reaktiv((
      namn: "John",
    ));
    user.name = "John Doe"; // Värdeförändring

    const count = ref(10);
    count.value = 20; // Värdeförändring

    returnera (
      användare,
      count,
    );
  ),
);

Du inte behöver använda .värde egenskap i mallen.

<div>(( räkna ))</div>

Beräknade egenskaper

Beräknade egenskaper kan enkelt skapas genom att skicka en metod som en parameter till den importerade beräknad() metod.

import ( reactive, computed ) från "vue";
exportera standard (
  setup() (
    const list = reaktiv([
      "Föremål 1",
      "Föremål 2",
    ]);

    // Beräknad
    const isEmpty = computed(() => list.length === 0);

    returnera (
      lista,
      isEmpty,
    );
  ),
);

Metoder

Du kan också nesta metoder i inställning metod.

Sammansättning API

importera ( ref ) från "vue";
exportera standard (
  setup() (
    const count = ref(10);

        // Metod
    const increment = () => (
      count.värde++;
    );

    returnera (
      räkna,
      ökning,
    );
  ),
);

Övervakare

Watchers skapas på ett liknande sätt som beräknad. Kom dock ihåg att skicka fullmakt objekt, d.v.s. namnsom i exemplet nedan, inte namn.värde värde i sig.

importera ( watch, ref ) från "vue";
exportera standard (
  setup() (
    const namn = ref("John");
        // Vaktare
    watch(name, (currentValue, oldValue) => (
      console.log(`Värdet ändrades från $(gammaltVärde)till $(aktuelltVärde)`);
    ));
    return ( namn );
  ),
);

Sammanfattning

I den här artikeln har jag bara gett dig grunderna i Composition API så att du har en allmän förståelse för hur det skiljer sig och vilka fördelar det har jämfört med Options API. Composition API tillhandahåller också alternativ till resten av komponentens element, till exempel krokaroch introducerar nya metoder, till exempel seEffekt. Det är en bra idé att läsa den i den officiella Vue 3 dokumentation.

samarbetsbanner

Relaterade artiklar

Utveckling av programvara

Javascript-verktyg i aktion

Upptäck några verktyg för att hämta JavaScript för att höja nivån på ditt programmeringsspel. Läs mer om ESLint, Prettier och Husky!

Codest
Reda Salmi React Utvecklare
Utveckling av programvara

Anställning av interna eller externa utvecklare

Anställa internt eller externt? Det är det ultimata dilemmat! Ta reda på fördelarna med outsourcing eller att bygga upp ett internt team i följande artikel.

Codest
Grzegorz Rozmus Enhetschef Java
Utveckling av programvara

För- och nackdelar med React

Varför är det värt att använda React? Vilka fördelar har detta JavaScript-bibliotek? För att ta reda på svaren dyk in i den här artikeln och upptäck de verkliga fördelarna med att använda React.

Codest
Cezary Goralski Software Engineer
Utveckling av programvara

Jämförelsen av mästarna: Angular vs Vue

För närvarande finns det några frontend-ramverk som används ofta och ständigt utvecklas av dess skapare, var och en något annorlunda än den andra. Och ändå kan de ha något gemensamt. Här har vi...

Oliwia Oremek

Prenumerera på vår kunskapsbas och håll dig uppdaterad om expertisen från IT-sektorn.

    Om oss

    The Codest - Internationellt mjukvaruutvecklingsföretag med teknikhubbar i Polen.

    Förenade kungariket - Huvudkontor

    • Kontor 303B, 182-184 High Street North E6 2JA
      London, England

    Polen - Lokala tekniknav

    • Fabryczna Office Park, Aleja
      Pokoju 18, 31-564 Kraków
    • Brain Embassy, Konstruktorska
      11, 02-673 Warszawa, Polen

      Codest

    • Hem
    • Om oss
    • Tjänster
    • Fallstudier
    • Vet hur
    • Karriär
    • Ordbok

      Tjänster

    • Det rådgivande
    • Utveckling av programvara
    • Backend-utveckling
    • Frontend-utveckling
    • Staff Augmentation
    • Backend-utvecklare
    • Ingenjörer inom molntjänster
    • Dataingenjörer
    • Övriga
    • QA-ingenjörer

      Resurser

    • Fakta och myter om att samarbeta med en extern partner för mjukvaruutveckling
    • Från USA till Europa: Varför väljer amerikanska startup-företag att flytta till Europa?
    • Jämförelse av Tech Offshore Development Hubs: Tech Offshore Europa (Polen), ASEAN (Filippinerna), Eurasien (Turkiet)
    • Vilka är de största utmaningarna för CTO:er och CIO:er?
    • Codest
    • Codest
    • Codest
    • Privacy policy
    • Användarvillkor för webbplatsen

    Copyright © 2025 av The Codest. Alla rättigheter reserverade.

    sv_SESwedish
    en_USEnglish de_DEGerman da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian jaJapanese ko_KRKorean es_ESSpanish nl_NLDutch etEstonian elGreek sv_SESwedish