最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue數(shù)據(jù)綁定實例寫法

 更新時間:2019年08月06日 16:31:48   作者:若羽。  
在本篇文章里小編給大家整理的是關(guān)于Vue數(shù)據(jù)綁定實例寫法以及相關(guān)知識點,需要的朋友們學(xué)習(xí)下。

為什么綁定

簡單的數(shù)據(jù)渲染,包括表達式、函數(shù)在內(nèi)。其實都只是在標(biāo)簽中渲染,如果遇到以下情況怎么辦呢:

需要在標(biāo)簽內(nèi)部進行某種 "騷操作" 。

需要控制流來控制不同數(shù)據(jù)下的不同渲染效果。

需要渲染一個數(shù)組。

這時候簡單渲染就不能很好的解決問題了,怎么辦 ?

來一發(fā)數(shù)據(jù)綁定吧!

綁定是什么

在了解綁定是什么之前,先了解一下什么是指令:

在 " vue" 中,指令是帶有 v- 前綴的特殊屬性,用來修飾標(biāo)簽的(自定義組件在這里也統(tǒng)一歸為標(biāo)簽,因為其使用方式和原生標(biāo)簽一樣),其值的約束和模板語法一樣,支持表達式、變量。

指令會監(jiān)測其值的變化,并將其的變化反應(yīng)給所處的DOM

我們來看一下上一章最后的例子:

<h1>{{ if(msg == '1') return time }}</h1>

 

在這里我們是想利用控制流來控制是否顯示時間,但是很遺憾,模板語法并不支持js語法。

但是 " vue" 中有這樣一個指令來彌補模板語法不支持 js語法的遺憾:

v-if

下面看看修改后的代碼:

<h1 v-if="msg=='1'">{{ formatTime(time) }}</h1>

 

先將 msg的值賦值為1

然后再修改一下 msg的值看看:

什么也沒有顯示,因為我們 msg的值并不是 1

v-if 指令很完美的解決了我們最開始提出來的第二個問題:

需要控制流來控制不同數(shù)據(jù)下的不同渲染效果。

讓我們回到最開始的話題。

這就是指令,而在官方原生的指令中,有一個指令是專門用來綁定標(biāo)簽屬性的:

v-bind

命名很形象,bind 直譯就是綁定的意思。

如何綁定

這里利用 div標(biāo)簽展示一下 v-bind 的使用方式,用在其它標(biāo)簽上同理:

<div v-bind:屬性名="表達式"></div>

 

我們拿第一個問題舉例實踐一下:

需要在標(biāo)簽內(nèi)部進行某種 "騷操作"。

這里我們就根據(jù) isDark的值來確定時間顯示的背景色吧

當(dāng) isDark為 true 的時候,背景色變成黑色,文字變成白色。

當(dāng) isDark為 false的時候,背景色變成白色,文字變成黑色。

先來定義 isDark:

data() {
  return {
   msg: 'hello vue',
   time: new Date(),
   isDark: False
  }
 }

 

然后添加一下兩種條件下的樣式:

<style>
 .dark{
  background-color: black;
  color: white;
 }

 .light{
  background-color: white;
  color: black;
 }
</style>

 

接下來給 h1標(biāo)簽加上綁定指令:

<h1 v-bind:class="isDark ? 'dark' : 'light'">{{ formatTime(time) }}</h1>

 

效果如下:

我們將 isDark 的值修改成 true:

很完美的達到了所需求的效果。

這就是指令的魅力。

最后一個問題

上述兩個指令解決了我們最初提出來三個問題中的兩個,那么剩下一個呢?

需要渲染一個數(shù)組。

當(dāng)我們需要渲染表格的時候就會遇到這個場景,如何去渲染一個數(shù)組呢?模板語法又并不支持這么復(fù)雜的操作。

請出本章最后一個指令:

v-for

嗯,還是很形象。js里面也有 for 嘛~

先看看它是做什么的:

v-for 會為數(shù)據(jù)源(綁定的列表)中的每一項,生成一個同類的標(biāo)簽。

然后看看怎么用,這里用 a 標(biāo)簽做說明,其他標(biāo)簽類似:

<!-- 寫法1 -->

<a v-for="別名 in 數(shù)據(jù)源" v-bind:key="唯一標(biāo)識">{{ 別名.字段 }}</a>

<!-- 寫法2 -->

<a v-for="(下標(biāo), 別名) in 數(shù)據(jù)源" v-bind:key="唯一標(biāo)識">{{ 別名.字段 }}</a>

 

因為新版本的 vue要求使用 v-for指令渲染的標(biāo)簽必須綁定一個key用做唯一標(biāo)識,大多數(shù)情況下我們可以直接使用下標(biāo)來進行標(biāo)識

繼續(xù)使用我們之前的代碼進行演示,先定義一個 url的數(shù)組:

data() {
  return {
   msg: 'hello vue',
   time: new Date(),
   isDark: true,
   urlList: [
    {
     text: '鏈接1',
     url: '#1'
    },

    {
     text: '鏈接2',
     url: '#2'
    },

    {
     text: '鏈接3',
     url: '#3'
    }
   ]
  }
 }

 

然后渲染安排一波:

<a v-for="(item, index) in urlList" v-bind:key="index" v-bind:href="item.url" rel="external nofollow" >{{item.text}}</a>

 

效果如下:

渲染的結(jié)果是三個 a 標(biāo)簽,非常正確~

很完美的解決了最后一個問題。

還有些什么指令呢?

官方還有其他的指令,這里再提一個:

v-on

v-on 指令可以綁定事件,比如說按鈕的點擊事件。

像上面切換背景的例子中,可以通過一個按鈕的點擊事件來修改 isDark的值,從而控制背景的改變。就不需要每次都手動來修改下 isDark的值了。

感謝大家學(xué)習(xí)以上知識點內(nèi)容和對腳本之家的支持。

相關(guān)文章

  • vue-cli3配置多項目并按項目分別實現(xiàn)打包

    vue-cli3配置多項目并按項目分別實現(xiàn)打包

    這篇文章主要介紹了vue-cli3配置多項目并按項目分別實現(xiàn)打包方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • vue請求按順序執(zhí)行的示例詳解

    vue請求按順序執(zhí)行的示例詳解

    我們有時候會碰到這種情況,需要連續(xù)發(fā)送兩個請求,第二個請求需要用第一個請求的某個返回值作為參數(shù)來作為第二個請求的請求參數(shù),這篇文章主要介紹了vue請求如何按順序執(zhí)行,需要的朋友可以參考下
    2023-12-12
  • c++游戲教程使用easyx做出大飛機

    c++游戲教程使用easyx做出大飛機

    這篇文章主要為大家介紹了c++游戲教程使用easyx實現(xiàn)大飛機示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • vue結(jié)合echarts繪制一個支持切換的折線圖實例

    vue結(jié)合echarts繪制一個支持切換的折線圖實例

    這篇文章主要介紹了vue結(jié)合echarts繪制一個支持切換的折線圖實例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Vue中的計算屬性和axios基本使用回顧

    Vue中的計算屬性和axios基本使用回顧

    這篇文章主要介紹了Vue中的計算屬性和axios基本使用回顧,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • 詳解如何使用vue和electron開發(fā)一個桌面應(yīng)用

    詳解如何使用vue和electron開發(fā)一個桌面應(yīng)用

    這篇文章主要為大家介紹了詳解如何使用vue和electron開發(fā)一個桌面應(yīng)用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • 分享一個基于Ace的Markdown編輯器

    分享一個基于Ace的Markdown編輯器

    相信開發(fā)中或多或少都會有使用md的時候。那么一個簡易的md編輯器顯得尤為重要,如果想要在自己的項目中添加一個md編輯器,那么不妨來看看這篇文章
    2021-10-10
  • vue+three.js實現(xiàn)炫酷的3D登陸頁面示例詳解

    vue+three.js實現(xiàn)炫酷的3D登陸頁面示例詳解

    這篇文章主要為大家介紹了vue+three.js實現(xiàn)炫酷的3D登陸頁面示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • 一文詳解WebStorm如何調(diào)試Vue項目

    一文詳解WebStorm如何調(diào)試Vue項目

    這篇文章主要介紹了如何使用WebStorm進行斷點調(diào)試,包括配置、啟動本地應(yīng)用程序、設(shè)置斷點以及使用調(diào)試工具等步驟,文中通過圖文及代碼介紹的非常詳細,需要的朋友可以參考下
    2025-02-02
  • VUE跨域詳解以及常用解決跨域的方法

    VUE跨域詳解以及常用解決跨域的方法

    跨域指瀏覽器不允許當(dāng)前頁面的所在的源去請求另一個源的數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于VUE跨域詳解以及常用解決跨域的方法,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-07-07

最新評論

平阴县| 虞城县| 西华县| 开封市| 衡东县| 壤塘县| 清新县| 高州市| 邹平县| 平罗县| 台中县| 大方县| 自贡市| 交城县| 苍山县| 灵石县| 山西省| 宜君县| 肃北| 页游| 定安县| 浙江省| 兰州市| 大荔县| 合水县| 桦南县| 黔西| 晴隆县| 莎车县| 历史| 哈密市| 酒泉市| 合川市| 洛宁县| 双辽市| 津南区| 罗平县| 辽宁省| 安新县| 永嘉县| 达孜县|