Detaillierte Erklärung des TodoList-Falls von Vue

Detaillierte Erklärung des TodoList-Falls von Vue

Bildbeschreibung hier einfügen

Bildbeschreibung hier einfügen

<Vorlage>
  <div id="Wurzel">
    <div Klasse="todo-container">
      <div Klasse="todo-wrap">
        <Top :received="empfangen" />
        <Liste :todos="todos" :checkTodo="checkTodo" :deleteTodo="deleteTodo" />
        <Unten :todos="todos" :checkAllTodo="checkAllTodo" :clearAllTodo="clearAllTodo" />
      </div>
    </div>
  </div>
</Vorlage>
<Skript>
  Importiere Top aus „./components/Top.vue“
  Importiere Bottom aus „./components/Bottom.vue“
  Liste aus „./components/List.vue“ importieren
  Standard exportieren {
    Name: "App",
    Komponenten:
      Spitze,
      Liste,
      Unten
    },
    Daten() {
      zurückkehren {
        alle: [{
            ID: '001',
            Titel: 'Essen',
            erledigt: wahr
          },
          {
            ID: '002',
            Titel: 'Schlaf',
            erledigt: falsch
          },
          {
            ID: '003',
            Titel: 'Spielende Bohnen',
            erledigt: falsch
          },
        ]
      }
    },
    Methoden: {
      //Eine Aufgabe hinzufügen
      empfangen(todoObj) {
        dies.todos.unshift(todoObj);
      },
      //Todo deaktivieren
      checkTodo(id) {
        dies.todos.forEach((todo) => {
          //Funktionskörperif (todo.id === id) todo.done = !todo.done;
        })
      },
      //Todo löschen(id) {
        dies.todos = dies.todos.filter(todo => todo.id !== id)
      },
      //Alles auswählen oder Auswahl für alle aufheben checkAllTodo(done) {
        dies.todos.forEach((todo) => {
          todo.done = erledigt
        })
      },
      // Alle abgeschlossenen Daten löschen clearAllTodo() {
        dies.todos = dies.todos.filter((todo) => {
          returniere !todo.done
        })
      }
    }
  }
</Skript>
<style lang="css">
  /*Base*/
  Körper {
    Hintergrund: #fff;
  }
  .btn {
    Anzeige: Inline-Block;
    Polsterung: 4px 12px;
    Rand unten: 0;
    Schriftgröße: 14px;
    Zeilenhöhe: 20px;
    Textausrichtung: zentriert;
    vertikale Ausrichtung: Mitte;
    Cursor: Zeiger;
    Boxschatten: Einschub 0 1px 0 rgba(255, 255, 255, 0,2), 0 1px 2px rgba(0, 0, 0, 0,05);
    Rahmenradius: 4px;
  }
  .btn-Gefahr {
    Farbe: #fff;
    Hintergrundfarbe: #da4f49;
    Rand: 1px durchgezogen #bd362f;
  }
  .btn-danger:hover {
    Farbe: #fff;
    Hintergrundfarbe: #bd362f;
  }
  .btn:Fokus {
    Gliederung: keine;
  }
  .todo-container {
    Breite: 600px;
    Rand: 0 automatisch;
  }
  .todo-container .todo-wrap {
    Polsterung: 10px;
    Rand: 1px durchgezogen #ddd;
    Rahmenradius: 5px;
  }
</Stil>

Zusammenfassen

Dieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalt auf 123WORDPRESS.COM lesen können!

Das könnte Sie auch interessieren:
  • Vue kapselt ein TodoList-Beispiel und implementiert die Anwendung des lokalen Browser-Cache
  • Detaillierte Erklärung des einfachen To-Do-Liste-Beispiels von Vuex
  • Vue lernt die Kommunikation zwischen übergeordneten und untergeordneten Komponenten von TodoList
  • Vuejs implementiert eine einfache TodoList-Funktion und einen Komponentenbeispielcode
  • vue.js Beispiel für ein TodoList-Projekt

<<:  Detaillierte Erklärung des Flex-Layouts in CSS

>>:  Zusammenfassung einiger Grundsätze, die bei der Ausgabe von HTML-Seiten beachtet werden sollten

Artikel empfehlen

So fügen Sie img-Bilder in Vue-Seiten ein

Wenn wir HTML lernen, führt das Bild-Tag <img&...

Vue implementiert mehrere Ideen zum Themenwechsel

Inhaltsverzeichnis Themen dynamisch ändern Die er...

CSS imitiert den sanften Umschalttasteneffekt von Apple

Inhaltsverzeichnis 1. Code-Analyse 2. Quellcode Q...

Zusammenfassung der Wissenspunkte zum Abdecken von Indizes in MySQL

Wenn ein Index die Werte aller abzufragenden Feld...

Sechs Möglichkeiten, die Größe von Docker-Images zu reduzieren

Seitdem ich 2017 mit der Arbeit an Vulhub begonne...

Tutorial zur Master-Slave-Konfiguration der MySQL-Datenbank unter Windows

Der detaillierte Prozess zum Konfigurieren des My...

Detaillierte Erläuterung der langsamen MySQL-Protokollabfrage

Langsame Protokollabfragefunktion Die Hauptfunkti...

Zwei Lösungen für das 404-Problem beim Aktualisieren des Vue-Paket-Upload-Servers

1: Nginx-Serverlösung, ändern Sie die .conf-Konfi...