Inhaltsverzeichnis
1. Verständnis von Vorlagen
单向数据绑定
双向数据绑定 指令 v-model
3. 指令语法:绑定事件监听 v-on:
4. v-text与v-html
1. 大括号表达式
2. 指令一: 强制数据绑定
3. 指令二: 绑定事件监听
5. 条件渲染指令
Einseitige Datenbindung
Anweisungen zur bidirektionalen Datenbindungv-model
比较v-if与v-show
6. 总结
Heim Web-Frontend View.js Eine eingehende Analyse der Vorlagensyntax in Vue: Interpolation und Anweisungen

Eine eingehende Analyse der Vorlagensyntax in Vue: Interpolation und Anweisungen

Nov 17, 2021 pm 07:42 PM
vue

Dieser Artikel führt Sie durch die Vorlagensyntax in Vue und stellt die Interpolationssyntax und die Befehlssyntax vor. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

Eine eingehende Analyse der Vorlagensyntax in Vue: Interpolation und Anweisungen

Vue verfügt über eine große Vorlagensyntax, die besonders einfach zu verwenden ist. Sie können eine von Vue definierte Vorlagensyntax in HTML schreiben, um Daten, Bindungsmethoden usw. schnell anzuzeigen. Dies ist einer der Gründe, warum Vue so schnell einsetzbar ist.

1. Verständnis von Vorlagen

Lassen Sie uns zunächst verstehen, was eine Vorlage ist.

Die Vorlage ist die dynamische HTML-Seite, die etwas js-Syntaxcode enthält

Vues Vorlagensyntax ist in zwei Typen unterteilt, nämlich:

  • [Interpolationssyntax] Ausdruck in doppelten Klammern („Mustache“-Syntax) [Eins]
  • [Anweisungssyntax] Anweisungen (benutzerdefinierte Tag-Attribute beginnend mit v-) [Viele]

1. Interpolationssyntax:

  • Funktion: Wird verwendet, um den Inhalt des Tag-Körpers zu analysieren und auf der Seite auszugeben Daten
  • Schreiben: {{xxx}}, xxx ist ein js-Ausdruck, und alle Attribute in den Daten können direkt gelesen und die Methode des Objekts aufgerufen werden{{xxx}},xxx是js表达式,且可以直接读取到data中的所有属性,可以调用对象的方法
  • 备注:里面写js表达式:有返回值的js代码,而不是js语句

2、指令语法:

  • 功能:用于解析标签(包括:标签属性、标签体内容、绑定事件.....)
  • 举例:v-bind:href="xxx" 或  简写为 :href="xxx",xxx同样要写js表达式,且可以直接读取到data中的所有属性
  • 备注:Vue中有很多的指令,且形式都是:v-????

【相关推荐:《vue.js教程》】

下面我们来介绍几个常用的指令语法。

2. 指令语法:强制数据绑定 v-bind:

功能:指定变化的属性值

完整写法

v-bind:xxx='yyy'  // yyy会作为表达式解析执行
Nach dem Login kopieren

简洁写法

:xxx='yyy'
Nach dem Login kopieren

单向数据绑定

  • 语法:v-bind:href ="xxx" 或简写为 :href ="xxx"

  • 特点:数据只能从 data 流向页面

双向数据绑定 指令 v-model

  • 语法:v-mode:value="xxx" 或简写为 v-model="xxx"

  • 特点:数据不仅能从 data 流向页面,还能从页面流向 data

3. 指令语法:绑定事件监听 v-on:

功能:绑定指定事件名的回调函数

完整写法

v-on:click='xxx'
v-on:keyup='xxx(参数)'
v-on:keyup.enter='xxx'
Nach dem Login kopieren

简洁写法

@click='xxx'
@keyup='xxx'
@keyup.enter='xxx'
Nach dem Login kopieren

4. v-text与v-html

v-text

  • 作用:向其所在的节点中渲染文本内容。

  • 与插值语法的区别:v-text会替换掉节点中的内容,{{xx}}则不会。

v-html

1、作用:向指定节点中渲染包含html结构的内容。

2、与插值语法的区别:

  • (1).v-html会替换掉节点中所有的内容,{{xx}}则不会。
  • (2).v-html可以识别html结构。

3、严重注意:v-html有安全性问题!!!!

  • (1). 在网站上动态渲染任意HTML是非常危险的,容易导致XSS攻击。
  • (2). 一定要在可信的内容上使用v-html,永不要用在用户提交的内容上!
<body>
    <div id=&#39;app&#39;>

        <h2 id="nbsp-大括号表达式">1. 大括号表达式</h2>
        <p>{{msg}}</p>    <!--textContent -->
        <p>{{msg.toUpperCase()}}</p>

        <p v-html="msg"></p> <!--innerHTML -->

        <p v-text="msg"></p> <!--textContent -->
        <p v-text="msg.toUpperCase()"></p>


        <h2 id="nbsp-指令一-nbsp-强制数据绑定">2. 指令一: 强制数据绑定</h2>
        <img src="/static/imghw/default1.png"  data-src="imgUrl"  class="lazy"   alt="Vue">  <!--无法显示图片,没有识别成js表达式 -->
        <img src="/static/imghw/default1.png"  data-src="imgUrl"  class="lazy"  v-bind: alt="Vue"> <!--属性值识别成js表达式 -->
        <img src="/static/imghw/default1.png"  data-src="imgUrl"  class="lazy"  : alt="Vue">


        <h2 id="nbsp-指令二-nbsp-绑定事件监听">3. 指令二: 绑定事件监听</h2>
        <button v-on:click="test1">test1</button>
        <button @click="test1">test1</button>
        
        <button @click="test2(&#39;abc&#39;)">test2</button> <!--可以传参数 -->
        <button @click="test2(msg)">test2</button>
    </div>



    <script src="../js/vue.js"></script>
    <script>
        new Vue({
            el: &#39;#app&#39;,
            data: {
                msg: &#39;<a href="http:www.baidu.com">I Will Back!</a>&#39;,
                imgUrl: "https://cn.vuejs.org/images/logo.png"
            },
            methods: {
                test1() {
                    alert(&#39;heheh&#39;);
                },
                test2(content){
                    alert(content);
                }
            }

        })
    </script>
</body>
Nach dem Login kopieren

Eine eingehende Analyse der Vorlagensyntax in Vue: Interpolation und Anweisungen

5. 条件渲染指令

移除标签删除

  • v-if
  • v-else

写法:

  1. v-if="表达式"
  2. v-else-if="表达式"
  3. v-else="表达式"

适用于:切换频率较低的场景。 特点:不展示的DOM元素直接被移除。 注意:v-if可以和:v-else-if、v-else一起使用,但要求结构不能被“打断”。

添加样式隐藏(display: none)

  • v-show

写法:v-show="表达式"

Bemerkungen: Schreiben

js-Ausdruck in der Formel

: js-Code mit Rückgabewert, nicht 🎜js-Anweisung 🎜🎜🎜🎜 2. Anweisungssyntax: 🎜🎜🎜 Funktion: wird zum Parsen von Tags verwendet (einschließlich: Tag-Attribute, Tag-Textinhalt, Bindungsereignisse ...) .)🎜🎜Beispiel: v-bind:href="xxx" oder abgekürzt als :href="xxx", xxx muss auch einen js-Ausdruck schreiben und kann sein Lesen Sie direkt alle Attribute in Daten🎜🎜Hinweis: Es gibt viele Anweisungen in Vue und die Formen sind: v-????🎜🎜🎜[Verwandte Empfehlungen: "vue.js-Tutorial》】🎜🎜Lassen Sie uns unten einige gängige Befehlssyntax vorstellen. 🎜

2. Befehlssyntax: Datenbindung erzwingen v-bind: 🎜🎜🎜Funktion: Geben Sie den geänderten Attributwert an🎜🎜🎜Vollständige Schreibmethode🎜
<body>
    <div id="demo">

        <p v-if="ok">成功了</p> <!-- 移除标签删除 -->
        <p v-else>失败了</p>

        <p v-show="ok">又成功了</p> <!-- 添加样式隐藏 -->
        <p v-show="!ok">又失败了</p>

        <button @click="ok = !ok">切换</button>
    </div>

    <script src="../js/vue.js"></script>
    <script>
        new Vue({
            el: &#39;#demo&#39;,
            data: {
                ok: false,
            }
        })
    </script>
</body>
Nach dem Login kopieren
Nach dem Login kopieren
🎜Prägnantes Schreiben🎜rrreee

Einseitige Datenbindung

    🎜🎜Syntax: v- bind:href ="xxx" oder abgekürzt als :href ="xxx"🎜🎜🎜🎜Funktionen: Daten können nur von Daten zur Seite fließen🎜🎜🎜

    Anweisungen zur bidirektionalen Datenbindungv-model

      🎜🎜Syntax: v- Modus: value="xxx" oder abgekürzt als v-model="xxx" 🎜🎜🎜🎜Eigenschaften: Daten können nicht nur von Daten zu Seite, sondern auch von Seite zu Daten fließen 🎜🎜🎜< h1 data-id="heading-4">3. Befehlssyntax: Ereignis-Listener binden v-on:🎜🎜🎜Funktion: Rückruffunktion des angegebenen Ereignisnamens binden🎜🎜 🎜Vollständige Schreibmethode🎜 rrreee🎜Prägnantes Schreiben🎜rrreee

      4. v-text und v-html🎜🎜v-text🎜
        🎜🎜Funktion: Rendern Sie Textinhalte an dem Knoten, an dem sie sich befinden. Der Unterschied zwischen 🎜🎜🎜🎜 und der Interpolationssyntax: v-text ersetzt den Inhalt im Knoten, {{xx}} jedoch nicht. 🎜🎜🎜🎜v-html🎜🎜1. Rendern Sie Inhalte, die eine HTML-Struktur enthalten, in den angegebenen Knoten. 🎜🎜2. Der Unterschied zur Interpolationssyntax: 🎜🎜🎜(1).v-html ersetzt den gesamten Inhalt im Knoten, {{xx}} jedoch nicht treffen. 🎜🎜(2).v-html kann die HTML-Struktur identifizieren. 🎜🎜🎜3. Ernsthafte Achtung: v-html weist Sicherheitsprobleme auf! ! ! ! 🎜🎜🎜(1). Das dynamische Rendern von beliebigem HTML auf einer Website ist sehr gefährlich und kann leicht zu XSS-Angriffen führen. 🎜🎜(2). Verwenden Sie v-html immer für vertrauenswürdige Inhalte, niemals für vom Benutzer übermittelte Inhalte! 🎜🎜rrreee🎜Eine eingehende Analyse der Vorlagensyntax in Vue: Interpolation und Anweisungen🎜

        5. Bedingter Rendering-Befehl 🎜🎜🎜remove tag delete🎜🎜🎜🎜v-if🎜🎜v-else🎜🎜🎜Schreiben: 🎜
          🎜v - if="expression" 🎜🎜v-else-if="expression"🎜🎜v-else="expression"🎜🎜Anwendbar zu: Szenarien mit geringer Schalthäufigkeit. Features: Nicht angezeigte DOM-Elemente werden direkt entfernt. Hinweis: v-if kann zusammen mit v-else-if und v-else verwendet werden, die Struktur darf jedoch nicht „unterbrochen“ werden. 🎜🎜🎜Stilausblenden hinzufügen (Anzeige: keine)🎜🎜🎜🎜v-show🎜🎜🎜Schreibmethode: v-show="expression" Geeignet für: Szenen mit hoher Schalthäufigkeit. Features: DOM-Elemente, die nicht angezeigt werden, wurden nicht entfernt, sie werden nur mithilfe von Stilen ausgeblendet🎜🎜[Bemerkungen] Bei Verwendung von v-if kann das Element möglicherweise nicht abgerufen werden, aber es kann definitiv mit v-show abgerufen werden. 🎜

          比较v-if与v-show

          v-if是控制元素是否加载到页面上(有性能开销) v-show是控制元素的显示与隐藏 (初始创建时加载一次)

          • 如果需要频繁切换 v-show 较好
          • 当条件不成立时, v-if 的所有子节点不会解析
          <body>
              <div id="demo">
          
                  <p v-if="ok">成功了</p> <!-- 移除标签删除 -->
                  <p v-else>失败了</p>
          
                  <p v-show="ok">又成功了</p> <!-- 添加样式隐藏 -->
                  <p v-show="!ok">又失败了</p>
          
                  <button @click="ok = !ok">切换</button>
              </div>
          
              <script src="../js/vue.js"></script>
              <script>
                  new Vue({
                      el: &#39;#demo&#39;,
                      data: {
                          ok: false,
                      }
                  })
              </script>
          </body>
          Nach dem Login kopieren
          Nach dem Login kopieren

          Eine eingehende Analyse der Vorlagensyntax in Vue: Interpolation und Anweisungen

          6. 总结

          一些常用的指令

          • v-text : 更新元素的 textContent
          • v-html : 更新元素的 innerHTML
          • v-if : 如果为true, 当前标签才会输出到页面
          • v-else: 如果为false, 当前标签才会输出到页面
          • v-show : 通过控制display样式来控制显示/隐藏
          • v-for : 遍历数组/对象
          • v-on : 绑定事件监听, 一般简写为@
          • v-bind : 强制绑定解析表达式, 可以省略v-bind
          • v-model : 双向数据绑定
          • ref : 为某个元素注册一个唯一标识, vue对象通过$refs属性访问这个元素对象
          • v-cloak : 使用它防止闪现表达式, 与css配合: [v-cloak] { display: none }

          更多编程相关知识,请访问:编程入门!!

          Das obige ist der detaillierte Inhalt vonEine eingehende Analyse der Vorlagensyntax in Vue: Interpolation und Anweisungen. 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 KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

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 verweisen Sie auf die JS -Datei mit Vue.js So verweisen Sie auf die JS -Datei mit Vue.js Apr 07, 2025 pm 11:27 PM

Es gibt drei Möglichkeiten, sich auf JS -Dateien in Vue.js zu beziehen: Geben Sie den Pfad direkt mit dem & lt; Skript & gt an. Etikett;; Dynamischer Import mit dem montierten () Lebenszyklushaken; und importieren über die Vuex State Management Library.

So verwenden Sie Bootstrap in Vue So verwenden Sie Bootstrap in Vue Apr 07, 2025 pm 11:33 PM

Die Verwendung von Bootstrap in Vue.js ist in fünf Schritte unterteilt: Startstrap installieren. Bootstrap in main.js. Verwenden Sie die Bootstrap -Komponente direkt in der Vorlage. Optional: benutzerdefinierter Stil. Optional: Verwenden Sie Plug-Ins.

Was bedeutet es für faule Ladungsvue? Was bedeutet es für faule Ladungsvue? Apr 07, 2025 pm 11:54 PM

In Vue.js können Komponenten oder Ressourcen bei Bedarf dynamisch geladen werden, wodurch die Ladezeit der Anfangsseite dynamisch geladen und die Leistung verbessert wird. Die spezifische Implementierungsmethode umfasst die Verwendung & lt; Keep-Alive & GT; und & lt; Komponente ist & gt; Komponenten. Es ist zu beachten, dass fauler Laden FOUC -Probleme (Splace Screen) verursachen kann und nur für Komponenten verwendet werden sollte, die eine faule Belastung erfordern, um unnötige Leistungsaufwand zu vermeiden.

So verwenden Sie Watch in Vue So verwenden Sie Watch in Vue Apr 07, 2025 pm 11:36 PM

Mit der Watch -Option in Vue.js können Entwickler auf Änderungen in bestimmten Daten anhören. Wenn sich die Daten ändert, löst sich eine Rückruffunktion aus, um Aktualisierungsansichten oder andere Aufgaben auszuführen. Zu den Konfigurationsoptionen gehören unmittelbar, die festlegen, ob ein Rückruf sofort ausgeführt werden soll, und Deep, das feststellt, ob Änderungen an Objekten oder Arrays rekursiv anhören sollen.

Vue realisiert Festzelt-/Text -Scrolling -Effekt Vue realisiert Festzelt-/Text -Scrolling -Effekt Apr 07, 2025 pm 10:51 PM

Implementieren Sie Marquee/Text-Scrolling-Effekte in VUE unter Verwendung von CSS-Animationen oder Bibliotheken von Drittanbietern. In diesem Artikel wird die Verwendung von CSS -Animation vorgestellt: Bildlauftext erstellen und Text mit & lt; div & gt;. Definieren Sie CSS -Animationen und setzen Sie Überlauf: Versteckt, Breite und Animation. Definieren Sie Keyframes, setzen Sie Transformation: Translatex () am Anfang und am Ende der Animation. Passen Sie die Animationseigenschaften wie Dauer, Bildlaufgeschwindigkeit und Richtung an.

So kehren Sie von Vue zur vorherigen Seite zurück So kehren Sie von Vue zur vorherigen Seite zurück Apr 07, 2025 pm 11:30 PM

VUE.JS hat vier Methoden, um zur vorherigen Seite zurückzukehren: $ router.go (-1) $ router.back () verwendet & lt; Router-Link to = & quot;/& quot; Komponentenfenster.history.back () und die Methodenauswahl hängt von der Szene ab.

So fragen Sie die Version von Vue So fragen Sie die Version von Vue Apr 07, 2025 pm 11:24 PM

Sie können die Vue -Version mit Vue Devtools abfragen, um die Registerkarte VUE in der Konsole des Browsers anzuzeigen. Verwenden Sie NPM, um den Befehl "npm list -g vue" auszuführen. Suchen Sie das Vue -Element im Objekt "Abhängigkeiten" der Datei package.json. Führen Sie für Vue -CLI -Projekte den Befehl "Vue --version" aus. Überprüfen Sie die Versionsinformationen im & lt; Skript & gt; Tag in der HTML -Datei, die sich auf die VUE -Datei bezieht.

So fügen Sie Funktionen zu Schaltflächen für Vue hinzu So fügen Sie Funktionen zu Schaltflächen für Vue hinzu Apr 08, 2025 am 08:51 AM

Sie können der VUE -Taste eine Funktion hinzufügen, indem Sie die Taste in der HTML -Vorlage an eine Methode binden. Definieren Sie die Methode und schreiben Sie die Funktionslogik in der VUE -Instanz.

See all articles