Heim > Web-Frontend > Front-End-Fragen und Antworten > So bedienen Sie den Dom-Knoten in Vue

So bedienen Sie den Dom-Knoten in Vue

王林
Freigeben: 2023-05-27 16:41:41
Original
2085 Leute haben es durchsucht

Vue ist ein beliebtes JavaScript-Framework zum Erstellen moderner Webanwendungen. Das Kernkonzept von Vue besteht darin, Daten von Ansichten zu trennen und einen Reaktionsmechanismus bereitzustellen, um Datenänderungen in den Ansichten schnell widerzuspiegeln. Das Framework erreicht diese Ziele gut, allerdings müssen in manchen Fällen DOM-Knoten direkt manipuliert werden.

In diesem Artikel erfahren wir, wie Vue DOM-Knoten und die zugehörigen APIs betreibt.

Wie Vue DOM-Knoten betreibt

In Vue können Sie spezielle Anweisungen und Objekte verwenden, um DOM-Knoten zu betreiben. Vue bietet mehrere integrierte Anweisungen und Methoden, mit denen wir DOM-Knoten manipulieren können. Im Folgenden sind einige Vue-Anweisungen und -Objekte aufgeführt, die zum Betreiben von DOM-Knoten verwendet werden:

  1. v-on

Die v-on-Anweisung wird verwendet, um eine Rückruffunktion an ein Ereignis zu binden. Zu den häufigsten Ereignissen gehören Klicken und Mouseover, und bei einigen dieser Ereignisse wird das DOM geändert. Beispielsweise können wir die v-on-Direktive verwenden, um einen bestimmten Text nur beim Klicken auf eine Schaltfläche zu ändern:

<button v-on:click="updateText"> 更改文本 </button>
<span>{{ text }}</span>
Nach dem Login kopieren
new Vue({
  el: '#app',
  data: {
    text: '老八租房网',
  },
  methods: {
    updateText() {
      this.text = '欢迎使用老八租房网';
    },
  },
});
Nach dem Login kopieren
  1. v-bind

Die v-bind-Direktive wird verwendet, um Daten in Vue an DOM-Eigenschaften zu binden. Der gebundene Wert kann in Vue definierte Daten, eine Komponenteneigenschaft oder ein Vue-Ausdruck sein. Binden Sie beispielsweise die Hintergrundfarbe an die Farbe der Datenvariablen:

<div v-bind:style="{ backgroundColor: color }">
    这里是背景颜色
</div>
Nach dem Login kopieren
new Vue({
  el: '#app',
  data: {
    color: '#00aaff'
  }
})
Nach dem Login kopieren
  1. $refs-Objekt

$refs ist eine von Vue bereitgestellte Methode für den Zugriff auf DOM-Elemente. Vue erstellt beim Rendern der Komponente mithilfe des Attributs v-ref oder ref eine entsprechende Referenz für jedes DOM-Element. Um den Stil des Listenelements in dieser Anwendung zu aktualisieren, können Sie es über das Objekt $refs finden und den Stil festlegen:

<template>
  <ul>
    <li v-for="item in items" ref="list" :class="{ selected: item.selected }" @click="onItemClick(item)">
      {{ item.text }}
    </li>
  </ul>
</template>
Nach dem Login kopieren
new Vue({
  el: '#app',
  data: {
    items: [
      { id: 1, text: '列表项1', selected: false },
      { id: 2, text: '列表项2', selected: false },
      { id: 3, text: '列表项3', selected: false }
    ]
  },
  methods: {
    onItemClick(item) {
      item.selected = true;
      const el = this.$refs.list.find(li => li.item === item);
      el.classList.toggle('selected');
    }
  }
});
Nach dem Login kopieren
  1. $el-Objekt

Wenn die Vue-Komponente startet, kompiliert sie die Vorlage der Komponente in eine Rendering-Funktion, bindet sie an die Komponente und setzt das DOM-Element auf das $el-Attribut der Komponente. Auf diese Weise können Sie mit dem $el-Objekt direkt auf den DOM-Knoten der Komponente zugreifen. Um beispielsweise eine Komponente zu formatieren:

<template>
  <div class="container">
    <input type="text" v-model="text" />
  </div>
</template>
Nach dem Login kopieren
new Vue({
  el: '#app',
  data: {
    text: ''
  },
  mounted() {
    const el = this.$el.querySelector('input');
    el.focus();
  }
});
Nach dem Login kopieren

Die oben genannten sind mehrere Vue-Anweisungen und -Objekte, die DOM-Knoten bedienen. Obwohl Vue keine Manipulation des DOM empfiehlt, kann es in einigen Fällen erforderlich sein, das DOM zu manipulieren. In diesem Fall stellt Vue einige sehr nützliche APIs bereit, die Ihnen helfen, direkt mit dem DOM zu interagieren.

Vues gemeinsame API für den Betrieb von DOM-Knoten

Vue bietet einige Methoden für den direkten Betrieb von DOM. Im Folgenden sind einige gängige Methoden aufgeführt, mit denen Vue DOM betreibt:

  1. Elemente hinzufügen und entfernen

In Vue können Sie die Methode $mount() verwenden, um Komponenten dynamisch zum DOM hinzuzufügen. Mit der Methode $mount können Sie Komponenten in jedes HTML-Element einbinden. Um beispielsweise eine Vue-Komponente zu einem Element mit der ID „app“ hinzuzufügen:

<div id="app"></div>
Nach dem Login kopieren
const vm = new Vue({
  template: '<div>这里是动态插入的内容</div>'
});

// 将组件挂载到DOM上
vm.$mount('#app');
Nach dem Login kopieren

Ebenso stellt Vue die Remove-Methode zum Entfernen eines Elements aus dem DOM bereit:

vm.$el.remove();
Nach dem Login kopieren
  1. Um auf Elementeigenschaften zuzugreifen

können Sie diese verwenden das von Vue bereitgestellte Attribut $, um auf die Eigenschaften des Elements zuzugreifen. Um beispielsweise auf HTML-Textinhalte zuzugreifen:

<div id="app">这里是文本内容</div>
Nach dem Login kopieren
const el = document.querySelector('#app');
console.log(el.textContent); // 输出:这里是文本内容
Nach dem Login kopieren
  1. Elementattribute festlegen

Sie können das von Vue bereitgestellte $el-Attribut verwenden, um die Attribute des Elements festzulegen. Um beispielsweise HTML-Textinhalte festzulegen:

const el = document.querySelector('#app');
el.textContent = '这里是更新后的文本内容';
Nach dem Login kopieren

Fazit

Vue bietet eine Vielzahl einfacher Möglichkeiten, das DOM zu manipulieren. Diese Methoden sind in bestimmten Situationen besonders wichtig, wenn Sie Elemente manipulieren müssen, wenn Sie Vue für die Anwendungsentwicklung verwenden. Bitte denken Sie jedoch daran, eine direkte Manipulation des DOM zu vermeiden und eine Manipulation des DOM zu vermeiden, um eine erfolgreiche Implementierung des zentralen Reaktionsmechanismus von Vue sicherzustellen.

Das obige ist der detaillierte Inhalt vonSo bedienen Sie den Dom-Knoten in Vue. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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