淺談Vue.js中v-text,v-html,{{}}之間的異同

2021-03-02 編程有為

實際項目中可能你經常那麼寫,也經常看到過,但你未必真的深刻認識這幾個之間的區別,我記得在以前公司有人這麼說過自己寫css代碼,全程靠猜,例如margin不行改padding,padding不行改定位,這就很能說明問題,對知識點理解不深刻,你不能說他不能做東西,但這樣寫出來的頁面,自然是兼容性差,耦合性過高

看下面一段代碼
<div id="app">  <p>{{message}}</p>  <p v-html="html"></p>  <p v-text="text"></p></div>
<script>  let app = new Vue({   el: "#app",   data: {    message: "<span>通過雙括號綁定</span>",    html: "<span>html標籤在渲染的時候被解析</span>",    text: "<span>html標籤在渲染的時候被源碼輸出</span>",   } });</script>

輸出結果
<span>通過雙括號綁定</span>html標籤在渲染的時候被解析<span>html標籤在渲染的時候被源碼輸出</span>

總結:

{{message}}將數據解析為純文本,不能輸出真正的html,在頁面加載時顯示{{}}(就是會頁面刷新閃爍默認顯示{{}}),所以通常使用v-html和v-text代替;v-html="html",輸出真正的html,標籤會被瀏覽器解析掉;v-text="text":將數據解析為純文本,不能輸出真正的html,與花括號的區別是在頁面加載時不閃爍顯示{{}}

相關焦點

  • 【項目推薦】Vue.js
    作者是尤雨溪,寫下這篇文章時 vue.js版本為 1.0.7 。我推薦使用 sublime text 作為編輯器,關於這個編輯器可以看我這篇文章。在 package control中安裝Vuejs SnippetsVue Syntax Highlight推薦使用 npm 管理,新建兩個文件 app.html,app.js,為了美觀使用 bootstrap,我們的頁面模板看起來是這樣:<!
  • Vue.js以業務為中心的常見面試題
    12.vue.js中標籤如何綁定事件第一種方式,使用v-on;第二種方式,使用@語法糖13.vuex是什麼vuex是vue.js框架實現的狀態管理系統。使用vuex,要引入store,並注入vue.js組件中,在組件內部可以通過$store訪問store對象;使用場景,在單頁應用中,用於組件之間的通信,如音樂播放,登錄狀態管理,加入購物車等vuex可以說是一種開發模式或框架,它是對vue.js框架數據層面的擴展,通過狀態集中管理驅動組件的變化,應用的狀態集中放在store中,改變狀態的方式是提交
  • 【Vue.js 入門到實戰教程】01-Vue.js 數據綁定的基本實現和代碼分析
    DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>數據綁定演示</title> <script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.js"></script
  • Vuejs基礎之:實例、模板、計算、class與Style綁定
    " type="text/javascript" charset="utf-8"></script><script type="text/javascript">  var vm = new Vue({  el:'#demo',  data:{  msg:'hello vue.js',
  • 【Vue.js入門到實戰教程】11-Vue Loader(下)| 編寫一個單文件 Vue 組件
    然後在 src/main.js 中引入 Bootstrap 的腳本和樣式文件:import Vue from 'vue'import App from '.編寫 ModalExample 組件我們將 vue_learning/component/slot.html 中的 modal-example 組件拆分出來,在 vue_learning/demo-project/src/components 目錄下新建一個單文件組件 ModalExample.vue,將 modal-example 組件代碼按照 Vue Loader 指定的格式填充到對應位置
  • Vue.js深入學習
    vue.jsv-cloak:解決網速慢閃爍問題 ,不會替換掉標籤裡面的內容v-text:會替換掉標籤裡面的內容:原樣輸出v-html:會解析標籤v-bind:綁定屬性的指令,縮寫從M自動綁定到V,無法實現數據的雙向綁定v-on 綁定事件:縮寫@<div>{{mgs2}}div><p v-cloak>{{msg}}----p><p v-text="msg">==========p><div v-text="mgs2">div>
  • [前端]分別原生JS和Vue實現計數器功能
    vue實現實現步驟1.確定el掛載點(id = "app"的div)2.data中定義數據(num,min,max)3.methods添加兩個方法sub(-)和add(+)4.使用v-text將num設置給span標籤5.使用v-on分別將sub和add綁定給-和+6.設置num的範圍,即min = 0,max=10<!
  • 深入理解 Vue 模板渲染:Vue 模板反編譯
    vue 文件的構成熟悉 vue 的同學應該都知道,vue 單文件模板中一般含有三個部分,template,script,style。但是在編譯後的 js 文件中,我們卻沒法在代碼中直接找到這三部分,如果我們想從編譯後的 js 中獲取原始模板,應該怎麼做?
  • Vue基礎及常用UI組件庫簡介
    {{msg}} </div><script src="https://cdn.bootcss.com/vue/2.5.17-beta.0/vue.min.js"></script><script type="text/javascript"> new Vue({ el:'#app'
  • HTML5 拖放API與Vue.js實戰
    在本文中我們將用 Vue.js 構建一個簡單的看板應用。看板是一種項目管理工具,使用戶可以從頭到尾直觀地管理項目。Trello、Pivotal Tracker 和 Jira 等工具都屬於看板應用。將其添加到 public/index.html 的 head 重。
  • Vue面試中,經常會被問到的面試題/Vue知識點整理
    在MVVM架構下,View 和 Model 之間並沒有直接的聯繫,而是通過ViewModel進行交互,Model 和 ViewModel 之間的交互是雙向的, 因此View 數據的變化會同步到Model中,而Model 數據的變化也會立即反應到View 上。
  • Vue.js 父子組件通信的十種方式
    用一個形象的比喻來說,父子組件之間的數據傳遞相當於自上而下的下水管子,只能從上往下流,不能逆流。這也正是 Vue 的設計理念之單向數據流。而 Prop 正是管道與管道之間的一個銜接口,這樣水(數據)才能往下流。
  • Vue.js——60分鐘組件快速入門(上篇)
    #app是Vue實例掛載的元素,應該在掛載元素範圍內使用組件-->            <my-component></my-component>        </div>    </body>    <script src="js/vue.js"></script>
  • Vue.js:60分鐘組件快速入門(上篇)
    #app是Vue實例掛載的元素,應該在掛載元素範圍內使用組件-->            <my-component></my-component>        </div>    </body>    <script src="js/vue.js"></script>
  • Vue.js 第三方常用插件
    Vue.js devtools用於開發調試Vue.js的一個必備插件。可以在Chrome中的擴展程序中直接安裝,也可以本地文件的方式安裝。>src/main.js 導入import並使用use插件import VueLazyload from 'vue-lazyload'Vue.use(VueLazyload)// 也可以配置一些選項, 建議使用這種配置方式,配置一些參數Vue.use(VueLazyload, {preLoad: 1.3,error
  • 初步認識vue.js框架的使用
    vue.js框架是幹什麼的Vue.js 是一個JavaScriptMVVM庫,是一套構建用戶界面的漸進式框架。它是以數據驅動和組件化的思想構建的,採用自底向上增量開發的設計。相比於Angular.js,Vue.js提供了更加簡潔、更易於理解的API,使得我們能夠快速地上手並使用Vue.js。如何使用vue.js1.下載 vue.min.js 並用 <script> 標籤引入。
  • Ultimate Vue.js和Laravel CRUD教程
    著名的JavaScript框架專家Vue.js討論了如何創建一個執行CRUD操作的完整堆棧web應用程式。CRUD(創建,讀取,更新和刪除)是數據存儲的基本操作,也是您作為Laravel開發人員學習的第一件事情之一。但是,當您將Vue.js單頁應用程式添加到此堆棧的前端時會發生什麼?突然之間,你必須處理異步CRUD,因為操作現在不需要刷新頁面。
  • Vue入門10 vue+elementUI
    DOCTYPE html><html><head> <meta charset="UTF-8"> <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"></head><body> <div id
  • Vue.js最佳實踐(五招讓你成為Vue.js大師)
    如果有人需要Vue.js入門系列的文章可以在評論區告訴我,有空就給你們寫。對大部分人來說,掌握Vue.js基本的幾個API後就已經能夠正常地開發前端網站。但如果你想更加高效地使用Vue來開發,成為Vue.js大師,那下面我要傳授的這五招你一定得認真學習一下了。
  • Vue.js布局
    動態Vue.js布局組件前言vue.js是漸進增強的視圖庫,可以作為.html頁面部分使用,也可以結合vue-router、vuex、axios用來構建單頁面或多頁面應用。