Heim Backend-Entwicklung Golang So erstellen Sie wiederverwendbare modale Komponenten mithilfe der Go-Sprache und Vue.js

So erstellen Sie wiederverwendbare modale Komponenten mithilfe der Go-Sprache und Vue.js

Jun 17, 2023 pm 11:18 PM
go语言 vuejs 可重用模态框

Mit der kontinuierlichen Weiterentwicklung von Webanwendungen sind Modalboxen zu einem unverzichtbaren Bestandteil des Webdesigns geworden. Ein Modal ist ein Popup-Fenster, das zum Anzeigen von Informationen oder zum Sammeln von Daten verwendet wird, wenn der Benutzer mit einer Anwendung interagiert. In diesem Artikel stellen wir vor, wie man mit der Go-Sprache und Vue.js wiederverwendbare modale Komponenten erstellt.

Go-Sprache ist eine effiziente, zuverlässige und einfach zu erstellende Programmiersprache, die von Google entwickelt wurde. Vue.js ist ein leichtes JavaScript-Framework, das sich auf die Erstellung von Benutzeroberflächen konzentriert. Verwenden Sie die Go-Sprache und Vue.js zusammen, um effiziente Webanwendungen zu erstellen. In diesem Artikel zeigen wir Ihnen, wie Sie mit diesen beiden Tools wiederverwendbare modale Komponenten erstellen.

Bevor Sie mit diesem Tutorial beginnen, müssen Sie die folgenden Voraussetzungen erfüllen:

  • Einige Grundkenntnisse der Go-Sprache.
  • Machen Sie sich mit dem Vue.js-Framework und seinen Grundkonzepten vertraut.
  • Ein Texteditor wie Visual Studio Code usw.

Wir werden unsere modale Komponente mit Vue.js und Bootstrap erstellen. Bitte stellen Sie sicher, dass Sie die Pakete Vue.js und Bootstrap installiert haben.

Schritt 1: Vue.js-Komponente erstellen

Zuerst müssen wir eine Vue.js-Komponente erstellen, die eine modale Box enthält. Erstellen Sie in Ihrer Vue.js-Anwendung einen neuen Ordner, sagen wir „components“, und erstellen Sie darin eine Datei mit dem Namen „Modal.vue“. Kopieren Sie den folgenden Code:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

<template>

  <div class="modal fade" tabindex="-1" role="dialog">

    <div class="modal-dialog">

      <div class="modal-content">

        <div class="modal-header">

          <h5 class="modal-title">{{title}}</h5>

          <button type="button" class="close" data-dismiss="modal" aria-label="Close">

            <span aria-hidden="true">×</span>

          </button>

        </div>

        <div class="modal-body">

          <slot></slot>

        </div>

        <div class="modal-footer">

          <button type="button" class="btn btn-secondary" data-dismiss="modal">{{cancelText}}</button>

          <button type="button" class="btn btn-primary" @click="save">{{saveText}}</button>

        </div>

      </div>

    </div>

  </div>

</template>

 

<script>

export default {

  props: {

    title: String,

    cancelText: {

      type: String,

      default: 'Cancel'

    },

    saveText: {

      type: String,

      default: 'Save'

    }

  },

  methods: {

    save() {

      this.$emit('save');

    }

  }

}

</script>

Nach dem Login kopieren

Diese Komponente verfügt über einen Titel, einen Textkörper und Schaltflächen zum Speichern oder Abbrechen der Aktion. Es gibt auch eine Methode namens „save“ für diese Komponente, die ein Ereignis ausgibt, wenn der Benutzer auf die Schaltfläche „Speichern“ klickt.

Schritt 2: Erstellen Sie das Modal mit Bootstrap

Als nächstes müssen wir das eigentliche Modal mit Bootstrap erstellen. Erstellen Sie in Ihrer Anwendung eine neue Datei mit dem Namen „index.html“ und fügen Sie darin den folgenden HTML-Code hinzu:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

<!DOCTYPE html>

<html>

  <head>

    <title>Vue Modal</title>

    <meta charset="utf-8">

    <meta name="viewport" content="width=device-width, initial-scale=1">

    <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet">

  </head>

  <body>

    <div id="app">

      <modal ref="modal" :title="title" :cancel-text="cancelText" :save-text="saveText" @save="save"></modal>

    </div>

    <script src="https://cdn.jsdelivr.net/npm/vue"></script>

    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>

    <script src="https://cdn.jsdelivr.net/npm/vue-bootstrap-modal"></script>

    <script>

      new Vue({

        el: '#app',

        components: {

          modal: VueBootstrapModal

        },

        data: {

          title: 'Modal Title',

          cancelText: 'Cancel',

          saveText: 'Save'

        },

        methods: {

          save() {

            alert('Save clicked');

          },

          showModal() {

            this.$refs.modal.$modal.show();

          }

        }

      });

    </script>

  </body>

</html>

Nach dem Login kopieren

Dieser Code führt eine Vue.js-Komponente, die eine Modalbox enthält, in die Anwendung ein und erstellt dann mithilfe von Bootstrap ein tatsächliches Modal.

Schritt 3: Backend mit der Go-Sprache erstellen

Jetzt müssen wir eine Backend-API mit der Go-Sprache erstellen, um mit unserer modalen Box zu interagieren. Wir werden einen neuen Go-Sprachordner erstellen, sagen wir „api“, und darin eine Datei namens „handler.go“ erstellen. Kopieren Sie den folgenden Code:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

package api

 

import (

    "encoding/json"

    "net/http"

)

 

type modal struct {

    Title string `json:"title"`

}

 

func HandleModal(w http.ResponseWriter, r *http.Request) {

    w.Header().Set("Content-Type", "application/json")

    w.WriteHeader(http.StatusOK)

 

    switch r.Method {

    case http.MethodGet:

        getModal(w, r)

    case http.MethodPost:

        saveModal(w, r)

    default:

        w.WriteHeader(http.StatusNotFound)

    }

}

 

func getModal(w http.ResponseWriter, r *http.Request) {

    m := modal{

        Title: "Example Modal",

    }

 

    if err := json.NewEncoder(w).Encode(m); err != nil {

        w.WriteHeader(http.StatusInternalServerError)

        return

    }

}

 

func saveModal(w http.ResponseWriter, r *http.Request) {

    type requestData struct {

        Title string `json:"title"`

    }

 

    var data requestData

    if err := json.NewDecoder(r.Body).Decode(&data); err != nil {

        w.WriteHeader(http.StatusBadRequest)

        return

    }

 

    m := modal{

        Title: data.Title,

    }

 

    if err := json.NewEncoder(w).Encode(m); err != nil {

        w.WriteHeader(http.StatusInternalServerError)

        return

    }

}

Nach dem Login kopieren

Diese Datei definiert eine Struktur namens „modal“, die ein Titelfeld vom Typ String enthält. Es gibt auch zwei Funktionen namens „getModal“ und „saveModal“, die zum Senden von GET- und POST-Anfragen zum Zurückgeben oder Speichern von Headern verwendet werden.

Schritt 4: HTTP-Anfrage mit Axios senden

Schließlich müssen wir die Axios-Bibliothek verwenden, um eine HTTP-Anfrage in der Vue.js-Anwendung zu senden, um mit dem Go-Backend zu interagieren. Fügen Sie den folgenden JavaScript-Code in die Datei „index.html“ ein:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

<script src="https://cdn.jsdelivr.net/npm/axios"></script>

<script>

  new Vue({

    el: '#app',

    components: {

      modal: VueBootstrapModal

    },

    data: {

      title: '',

      cancelText: 'Cancel',

      saveText: 'Save'

    },

    methods: {

      save() {

        axios.post('/api/modal', {

          title: this.title

        })

        .then((response) => {

          alert('Save clicked. Title: ' + response.data.title);

        })

        .catch((error) => {

          console.log(error);

        });

      },

      showModal() {

        axios.get('/api/modal')

        .then((response) => {

          this.title = response.data.title;

          this.$refs.modal.$modal.show();

        })

        .catch((error) => {

          console.log(error);

        });

      }

    }

  });

</script>

Nach dem Login kopieren

Dieser Code verwendet die Axios-Bibliothek, um POST- und GET-Anfragen zu senden, um mit dem Go-Backend zu interagieren und die Header zu speichern oder abzurufen.

Jetzt haben Sie den Prozess der Erstellung einer wiederverwendbaren modalen Komponente mithilfe der Go-Sprache und Vue.js abgeschlossen. Sie können diesen Code als Referenz verwenden, um Ihre eigenen modalen Komponenten zu erstellen, die Ihren spezifischen Webdesign-Anforderungen entsprechen.

Das obige ist der detaillierte Inhalt vonSo erstellen Sie wiederverwendbare modale Komponenten mithilfe der Go-Sprache und Vue.js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So verwenden Sie Reflection, um auf private Felder und Methoden in Golang zuzugreifen So verwenden Sie Reflection, um auf private Felder und Methoden in Golang zuzugreifen May 03, 2024 pm 12:15 PM

So verwenden Sie Reflection, um auf private Felder und Methoden in Golang zuzugreifen

Tipps zum dynamischen Erstellen neuer Funktionen in Golang-Funktionen Tipps zum dynamischen Erstellen neuer Funktionen in Golang-Funktionen Apr 25, 2024 pm 02:39 PM

Tipps zum dynamischen Erstellen neuer Funktionen in Golang-Funktionen

Der Unterschied zwischen Leistungstests und Unit-Tests in der Go-Sprache Der Unterschied zwischen Leistungstests und Unit-Tests in der Go-Sprache May 08, 2024 pm 03:09 PM

Der Unterschied zwischen Leistungstests und Unit-Tests in der Go-Sprache

Auf welche Fallstricke sollten wir beim Entwurf verteilter Systeme mit Golang-Technologie achten? Auf welche Fallstricke sollten wir beim Entwurf verteilter Systeme mit Golang-Technologie achten? May 07, 2024 pm 12:39 PM

Auf welche Fallstricke sollten wir beim Entwurf verteilter Systeme mit Golang-Technologie achten?

Golang-Technologiebibliotheken und Tools für maschinelles Lernen Golang-Technologiebibliotheken und Tools für maschinelles Lernen May 08, 2024 pm 09:42 PM

Golang-Technologiebibliotheken und Tools für maschinelles Lernen

Die Entwicklung der Benennungskonvention für Golang-Funktionen Die Entwicklung der Benennungskonvention für Golang-Funktionen May 01, 2024 pm 03:24 PM

Die Entwicklung der Benennungskonvention für Golang-Funktionen

Die Rolle der Golang-Technologie in der mobilen IoT-Entwicklung Die Rolle der Golang-Technologie in der mobilen IoT-Entwicklung May 09, 2024 pm 03:51 PM

Die Rolle der Golang-Technologie in der mobilen IoT-Entwicklung

Können Golang-Variablenparameter für Funktionsrückgabewerte verwendet werden? Können Golang-Variablenparameter für Funktionsrückgabewerte verwendet werden? Apr 29, 2024 am 11:33 AM

Können Golang-Variablenparameter für Funktionsrückgabewerte verwendet werden?

See all articles