Heim  >  Artikel  >  Web-Frontend  >  vue berechnet die Höhe der ausgeblendeten Seite

vue berechnet die Höhe der ausgeblendeten Seite

PHPz
PHPzOriginal
2023-05-24 09:52:08664Durchsuche

Da Frontend-Seiten immer komplexer werden, müssen wir oft verschiedene Techniken verwenden, um einige scheinbar einfache Anforderungen zu erfüllen. Beispielsweise müssen wir die Höhe der ausgeblendeten Elemente auf der Seite für die spätere Verarbeitung berechnen. Was sollen wir zu diesem Zeitpunkt tun? Die Antwort besteht darin, Vue zu verwenden, um die Höhe der ausgeblendeten Seite zu berechnen.

Vue ist ein Front-End-Framework, das ein reaktionsfähiges Komponentensystem zum Erstellen von Webschnittstellen aufbaut. Es organisiert die Benutzeroberfläche durch ein abstraktes, datenbasiertes Ansichtskomponentenmodell und bindet das DOM deklarativ über eine einfache Vorlagensyntax an die zugrunde liegende Vue-Instanz. Vue bietet auch einige Hilfsfunktionen wie berechnete Eigenschaften, Beobachter, Komponenten usw., mit denen viele Probleme in der Front-End-Entwicklung sehr bequem gelöst werden können, einschließlich der Berechnung der Höhe der ausgeblendeten Seite.

So können wir die Höhe der ausgeblendeten Seite durch berechnete Eigenschaften berechnen. Hier ist ein einfaches Beispiel:

<template>
  <div>
    <div class="content" ref="content">
      <p v-for="index in 10">这是第{{index}}段文字</p>
    </div>
    <div class="show-more" @click="showMore">{{showMoreText}}</div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      isShowMore: false,
      showMoreText: '显示更多'
    }
  },
  computed: {
    contentHeight() {
      // 获取内容区高度
      return this.$refs.content.scrollHeight + 'px'
    }
  },
  methods: {
    showMore() {
      this.isShowMore = !this.isShowMore
      if (this.isShowMore) {
        this.showMoreText = '收起'
      } else {
        this.showMoreText = '显示更多'
      }
    }
  }
}
</script>

<style>
.content {
  overflow: hidden;
  max-height: 200px;
  transition: max-height .3s ease;
}

.show-more {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  color: #fff;
  background: #f60;
  cursor: pointer;
}
</style>

Der obige Code implementiert eine Komponente mit einer Schaltfläche „Mehr anzeigen“. Standardmäßig werden im Inhaltsbereich Inhalte mit einer Höhe von bis zu 200 Pixel angezeigt. Wenn Sie auf die Schaltfläche „Mehr anzeigen“ klicken, wird der Inhaltsbereich erweitert, um den gesamten Inhalt anzuzeigen. Wir müssen die Höhe des Inhalts für die spätere Verarbeitung berechnen.

In Vue können wir das berechnete Attribut verwenden, um die Höhe von Seitenelementen zu berechnen. In diesem Beispiel verwenden wir this.$refs.content.scrollHeight, um die Höhe des Inhaltsbereichs zu ermitteln. $refs ist eine spezielle von Vue bereitgestellte Eigenschaft, mit der DOM-Elemente oder Unterkomponenteninstanzen innerhalb der Komponente abgerufen werden. Im Code verwenden wir ref="content", um das DOM-Element im Inhaltsbereich zu identifizieren, und verwenden dann this.$refs.content.scrollHeight im berechneten Attribut, um die Höhe des Elements zu ermitteln. Es ist zu beachten, dass diese berechnete Eigenschaft nur berechnet wird, wenn der Inhaltsbereich erweitert wird.

Dieses berechnete Attribut kann viele ähnliche Szenarien implementieren, z. B. die Berechnung der Breite eines Elements, die Berechnung der Position eines Elements usw. Im Allgemeinen sind die berechneten Eigenschaften von Vue ein sehr praktisches Werkzeug, das unsere Entwicklungseffizienz erheblich verbessern kann.

Neben berechneten Eigenschaften bietet Vue auch viele andere Funktionen wie Beobachter, Komponenten usw., die uns helfen können, komplexe Front-End-Anwendungen bequemer zu entwickeln. In der zukünftigen Entwicklung sollten wir diese Tools so oft wie möglich nutzen, um unsere Aufgaben besser zu erledigen.

Das obige ist der detaillierte Inhalt vonvue berechnet die Höhe der ausgeblendeten Seite. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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