Heim > Web-Frontend > js-Tutorial > Hauptteil

Allgemeine Codierungsstandards für Vue js.

WBOY
Freigeben: 2024-08-06 19:15:22
Original
1058 Leute haben es durchsucht

General Coding Standards for Vue js.

Hier sind weitere gute und schlechte Praktiken für Vue.js:

Allgemeine Codierungsstandards

  1. Vermeiden Sie magische Zahlen und Zeichenfolgen:
    • Verwenden Sie Konstanten für Werte, die wiederholt verwendet werden oder eine besondere Bedeutung haben.
   // Good
   const MAX_ITEMS = 10;

   function addItem(item) {
     if (items.length < MAX_ITEMS) {
       items.push(item);
     }
   }

   // Bad
   function addItem(item) {
     if (items.length < 10) {
       items.push(item);
     }
   }
Nach dem Login kopieren
  1. v-for effizient nutzen:
    • Geben Sie bei Verwendung von v-for immer einen eindeutigen Schlüssel an, um das Rendering zu optimieren.
   <!-- Good -->
   <div v-for="item in items" :key="item.id">
     {{ item.name }}
   </div>

   <!-- Bad -->
   <div v-for="item in items">
     {{ item.name }}
   </div>
Nach dem Login kopieren
  1. Inline-Stile vermeiden:
    • Verwenden Sie zur besseren Wartbarkeit lieber CSS-Klassen als Inline-Stile.
   <!-- Good -->
   <div class="item">{{ item.name }}</div>

   <style scoped>
   .item {
     color: red;
   }
   </style>

   <!-- Bad -->
   <div :style="{ color: 'red' }">{{ item.name }}</div>
Nach dem Login kopieren

Komponentenpraktiken

  1. Wiederverwendbarkeit von Komponenten:
    • Entwerfen Sie Komponenten so, dass sie durch Requisiten wiederverwendbar und konfigurierbar sind.
   // Good
   <BaseButton :label="buttonLabel" :disabled="isDisabled" @click="handleClick" />

   // Bad
   <button :disabled="isDisabled" @click="handleClick">{{ buttonLabel }}</button>
Nach dem Login kopieren
  1. Prop-Validierung:
    • Validieren Sie Requisiten immer anhand des Typs und der erforderlichen Attribute.
   // Good
   props: {
     title: {
       type: String,
       required: true
     },
     age: {
       type: Number,
       default: 0
     }
   }

   // Bad
   props: {
     title: String,
     age: Number
   }
Nach dem Login kopieren
  1. Vermeiden Sie lange Methoden:
    • Teilen Sie lange Methoden in kleinere, besser verwaltbare Methoden auf.
   // Good
   methods: {
     fetchData() {
       this.fetchUserData();
       this.fetchPostsData();
     },
     async fetchUserData() { ... },
     async fetchPostsData() { ... }
   }

   // Bad
   methods: {
     async fetchData() {
       const userResponse = await fetch('api/user');
       this.user = await userResponse.json();
       const postsResponse = await fetch('api/posts');
       this.posts = await postsResponse.json();
     }
   }
Nach dem Login kopieren
  1. Vermeiden Sie berechnete Eigenschaften mit Nebenwirkungen:
    • Berechnete Eigenschaften sollten für reine Berechnungen und nicht für Nebenwirkungen verwendet werden.
   // Good
   computed: {
     fullName() {
       return `${this.firstName} ${this.lastName}`;
     }
   }

   // Bad
   computed: {
     fetchData() {
       // Side effect: fetch data inside a computed property
       this.fetchUserData();
       return this.user;
     }
   }
Nach dem Login kopieren

Vorlagenpraktiken

  1. Verwenden Sie v-show vs. v-if:
    • Verwenden Sie v-show, um die Sichtbarkeit umzuschalten, ohne Elemente zum DOM hinzuzufügen/zu entfernen, und v-if, wenn Sie Elemente bedingt rendern.
   <!-- Good: Use v-show for toggling visibility -->
   <div v-show="isVisible">Content</div>

   <!-- Good: Use v-if for conditional rendering -->
   <div v-if="isLoaded">Content</div>

   <!-- Bad: Use v-if for simple visibility toggling -->
   <div v-if="isVisible">Content</div>
Nach dem Login kopieren
  1. Vermeiden Sie große Vorlagen:
    • Halten Sie die Vorlagen sauber und klein; Brechen Sie sie in kleinere Bestandteile auf, wenn sie zu groß werden.
   <!-- Good: Small, focused template -->
   <template>
     <div>
       <BaseHeader />
       <BaseContent />
       <BaseFooter />
     </div>
   </template>

   <!-- Bad: Large, monolithic template -->
   <template>
     <div>
       <header>...</header>
       <main>...</main>
       <footer>...</footer>
     </div>
   </template>
Nach dem Login kopieren

Staatliche Verwaltungspraktiken

  1. Verwenden Sie Vuex für die Zustandsverwaltung:
    • Verwenden Sie Vuex zur Verwaltung komplexer Zustände über mehrere Komponenten hinweg.
   // Good
   // store.js
   export default new Vuex.Store({
     state: { user: {} },
     mutations: {
       setUser(state, user) {
         state.user = user;
       }
     },
     actions: {
       async fetchUser({ commit }) {
         const user = await fetchUserData();
         commit('setUser', user);
       }
     }
   });
Nach dem Login kopieren
  1. Vermeiden Sie direkte Zustandsmutationen in Komponenten:
    • Verwenden Sie Mutationen, um den Vuex-Zustand zu ändern, anstatt den Zustand in Komponenten direkt zu mutieren.
   // Good
   methods: {
     updateUser() {
       this.$store.commit('setUser', newUser);
     }
   }

   // Bad
   methods: {
     updateUser() {
       this.$store.state.user = newUser; // Direct mutation
     }
   }
Nach dem Login kopieren

Fehlerbehandlung und Debugging

  1. Globale Fehlerbehandlung:
    • Verwenden Sie den globalen Fehlerhandler von Vue zum Abfangen und Behandeln von Fehlern.
   Vue.config.errorHandler = function (err, vm, info) {
     console.error('Vue error:', err);
   };
Nach dem Login kopieren
  1. Geben Sie Benutzer-Feedback:
    • Geben Sie Benutzern klares Feedback, wenn ein Fehler auftritt.
   // Good
   methods: {
     async fetchData() {
       try {
         const data = await fetchData();
         this.data = data;
       } catch (error) {
         this.errorMessage = 'Failed to load data. Please try again.';
       }
     }
   }

   // Bad
   methods: {
     async fetchData() {
       try {
         this.data = await fetchData();
       } catch (error) {
         console.error('Error fetching data:', error);
       }
     }
   }
Nach dem Login kopieren

Durch die Einhaltung dieser zusätzlichen Vorgehensweisen können Sie die Qualität, Wartbarkeit und Effizienz Ihrer Vue.js-Anwendungen weiter verbessern.

Das obige ist der detaillierte Inhalt vonAllgemeine Codierungsstandards für Vue js.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage