欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue.js語法及常用指令

 更新時(shí)間:2017年10月29日 09:59:29   作者:張啊咩  
vue.js相比于Angular.js,Vue.js提供了更加簡(jiǎn)潔、更易于理解的API,使得我們能夠快速地上手并使用Vue.js。下面通過本文給大家分享vue.js語法及常用指令,希望對(duì)大家有所幫助

Vue.js是當(dāng)下很火的一個(gè)JavaScript MVVM(Model-View-ViewModel)庫,它是以數(shù)據(jù)驅(qū)動(dòng)和組件化的思想構(gòu)建的。相比于Angular.js,Vue.js提供了更加簡(jiǎn)潔、更易于理解的API,使得我們能夠快速地上手并使用Vue.js。

如果你之前已經(jīng)習(xí)慣了用jQuery操作DOM,學(xué)習(xí)Vue.js時(shí)請(qǐng)先拋開手動(dòng)操作DOM的思維,因?yàn)閂ue.js是數(shù)據(jù)驅(qū)動(dòng)的,你無需手動(dòng)操作DOM。它通過一些特殊的HTML語法,將DOM和數(shù)據(jù)綁定起來。一旦你創(chuàng)建了綁定,DOM將和數(shù)據(jù)保持同步,每當(dāng)變更了數(shù)據(jù),DOM也會(huì)相應(yīng)地更新。

當(dāng)然了,在使用Vue.js時(shí),你也可以結(jié)合其他庫一起使用,比如jQuery。

1.使用

使用Vue的過程就是定義MVVM(Model-View-ViewModel)各個(gè)組成部分的過程的過程。

<!--這里定義View-->
<div id="app">{{ message }}</div>
<script src="js/vue.js"></script>
<script>
    // 這里定義Model
    var exampleData = {
      message: 'Hello World!'
    }
    // 這里創(chuàng)建一個(gè) Vue 實(shí)例或 "ViewModel"
    // 連接 View 與 Model
    new Vue({
      el: '#app',
      data: exampleData
    })
</script>

2.Vue.js的常用指令

Vue.js提供了一些常用的內(nèi)置指令,接下來我們將介紹以下幾個(gè)內(nèi)置指令: 

•v-if指令
•v-show指令
•v-else指令
•v-for指令
•v-bind指令
•v-on指令

Vue.js具有良好的擴(kuò)展性,我們也可以開發(fā)一些自定義的指令,后面的文章會(huì)介紹自定義指令。

2.1 v-if指令

v-if后面賦予 可以轉(zhuǎn)化為布爾類型的表達(dá)式

<div id="app">
      <h1>Hello, Vue.js!</h1>
      <h1 v-if="yes">Yes!</h1>
      <h1 v-if="no">No!</h1>
      <h1 v-if="age >= 25">Age: {{ age }}</h1>
      <h1 v-if="name.indexOf('jack') >= 0">Name: {{ name }}</h1>
</div>
 <script src="js/vue.js"></script>
 <script>
    var vm = new Vue({
      el: '#app',
      data: {
        yes: true,
        no: false,
        age: 28,
        name: 'keepfool'
      }
    })
 </script>

這里最后就輸出

<div id="app">
  <h1>Hello, Vue.js!</h1>
  <h1>Yes!</h1>
  <!---->
  <h1>Age: 28</h1>
  <!---->
</div>

2.2 v-show

 <div id="app">
      <h1>Hello, Vue.js!</h1>
      <h1 v-show="yes">Yes!</h1>
      <h1 v-show="no">No!</h1>
      <h1 v-show="age >= 25">Age: {{ age }}</h1>
      <h1 v-show="name.indexOf('jack') >= 0">Name: {{ name }}</h1>
    </div>
  </body>
  <script src="js/vue.js"></script>
  <script>
    var vm = new Vue({
      el: '#app',
      data: {
        yes: true,
        no: false,
        age: 28,
        name: 'keepfool'
      }
    })
  </script>

這里代碼只是v-if改為v-show

輸出為

<div id="app">
<h1>Hello, Vue.js!</h1>
<h1>Yes!</h1>
<h1 style="display: none;">No!</h1>
<h1>Age: 28</h1>
<h1 style="display: none;">Name: keepfool</h1>
</div>

這里區(qū)別是上面v-if直接不輸出html代碼,這里用display:none隱藏

2.3 v-else指令

<h1 v-if="age >= 25">Age: {{ age }}</h1>
<h1 v-else>Name: {{ name }}</h1>
<script src="js/vue.js"></script>
  <script>
    var vm = new Vue({
      el: '#app',
      data: {
        age: 28,
        name: 'keepfool',
        sex: 'Male'
      }
    })
</script>

 前一兄弟元素必須有 v-if 或 v-else-if,新版的vue.js新增了v-else-if用法也跟v-if一樣,不過前一兄弟元素必須有v-if或v-else-if,舊版的v-else前面可以跟v-show,但新版v-else前面不能是v-show了。

2.4 v-for指令

<div v-for="p in people">
   <h1>Age: {{ p.age }}</h1>
   <h1>Name: {{ p.name }}</h1>
   <h1>Sex: {{ p.sex }}</h1>
</div>
<script charset="utf-8" src="js/vue.js"></script>
<script type="text/javascript">
   var myModel = {
    people:[
      {
        age: 25,
        name: 'keepfool',
        sex: 'Male'
      },
      {
        age: 26,
        name: 'keepfool2',
        sex: 'FeMale'
      },
      {
        age: 27,
        name: 'keepfool3',
        sex: 'Male2'
      }
    ]
  };
 var vm = new Vue({
  el: '#app',
  data: myModel
})
</script>

父元素用v-for,子元素可以遍歷綁定的對(duì)應(yīng)Array | Object | number | string

v-for還可以這樣用:

<div v-for="(item, index) in items"></div>
<div v-for="(val, key) in object"></div>
<div v-for="(val, key, index) in object"></div>

2.5 v-bind指令

v-bind指令可以在其名稱后面帶一個(gè)參數(shù),中間放一個(gè)冒號(hào)隔開,這個(gè)參數(shù)通常是HTML元素的特性(attribute)

<div id="app">
   <ul class="pagination">
     <li v-for="n in pageCount">
       <a href="javascripit:void(0)" rel="external nofollow" v-bind:class="activeNumber === n ? 'active' : ''">{{ n }}</a>
     </li>
   </ul>
</div>
 <script src="js/vue.js"></script>
  <script>
    var vm = new Vue({
      el: '#app',
      data: {
        activeNumber: 1,
        pageCount: 10
      }
    })
  </script>

又例如:

<img v-bind:src="'/path/to/images/' + fileName">
<div v-bind="{ 'id': someProp, 'other-attr': otherProp }"></div>

2.6 v-on指令

<div id="app">
      <p><input type="text" v-model="message"></p>
      <p>
        <!--click事件直接綁定一個(gè)方法-->
        <button v-on:click="greet">Greet</button>
      </p>
      <p>
        <!--click事件使用內(nèi)聯(lián)語句-->
        <button v-on:click="say('Hi')">Hi</button>
      </p>
</div>
 <script src="js/vue.js"></script>
  <script>
    var vm = new Vue({
      el: '#app',
      data: {
        message: 'Hello, Vue.js!'
      },
      // 在 `methods` 對(duì)象中定義方法
      methods: {
        greet: function() {
          // // 方法內(nèi) `this` 指向 vm
          alert(this.message)
        },
        say: function(msg) {
          alert(msg)
        }
      }
    })
  </script>

2.7 v-model指令

v-model在表單控件元素上創(chuàng)建雙向數(shù)據(jù)綁定

<input v-model="message" placeholder="edit me">
<p>Message is: {{ message }}</p>

總結(jié)

以上所述是小編給大家介紹的vue.js語法及常用指令,希望對(duì)大家有所幫助!

相關(guān)文章

  • Vue?路由傳參加密的示例代碼

    Vue?路由傳參加密的示例代碼

    這篇文章主要介紹了Vue?路由傳參加密,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12
  • vue 使用 echarts 繪制中國地圖的實(shí)現(xiàn)代碼

    vue 使用 echarts 繪制中國地圖的實(shí)現(xiàn)代碼

    這篇文章主要介紹了vue 使用 echarts 繪制中國地圖,內(nèi)容包括插入echarts所需模塊及完整的代碼,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-01-01
  • vue中element-ui組件默認(rèn)css樣式修改的四種方式

    vue中element-ui組件默認(rèn)css樣式修改的四種方式

    在前端項(xiàng)目中會(huì)運(yùn)用各種組件,有時(shí)組件的默認(rèn)樣式并不是你項(xiàng)目中所需要的,你需要更改樣式,下面這篇文章主要給大家介紹了關(guān)于vue中element-ui組件默認(rèn)css樣式修改的四種方式,需要的朋友可以參考下
    2021-10-10
  • antd form表單使用setFildesValue 賦值失效的解決

    antd form表單使用setFildesValue 賦值失效的解決

    這篇文章主要介紹了antd form表單使用setFildesValue 賦值失效的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2023-04-04
  • springboot之springboot與netty整合方案

    springboot之springboot與netty整合方案

    這篇文章主要介紹了VUE之關(guān)于store狀態(tài)管理核心解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • 部署vue+Springboot前后端分離項(xiàng)目的步驟實(shí)現(xiàn)

    部署vue+Springboot前后端分離項(xiàng)目的步驟實(shí)現(xiàn)

    這篇文章主要介紹了部署vue+Springboot前后端分離項(xiàng)目的步驟實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • vue中各選項(xiàng)及鉤子函數(shù)執(zhí)行順序詳解

    vue中各選項(xiàng)及鉤子函數(shù)執(zhí)行順序詳解

    今天小編就為大家分享一篇vue中各選項(xiàng)及鉤子函數(shù)執(zhí)行順序詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • ElementUI實(shí)現(xiàn)el-table列寬自適應(yīng)的代碼詳解

    ElementUI實(shí)現(xiàn)el-table列寬自適應(yīng)的代碼詳解

    這篇文章給大家介紹了ElementUI實(shí)現(xiàn)el-table列寬自適應(yīng)的詳細(xì)步驟,文中通過代碼示例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-01-01
  • Vue首頁界面加載優(yōu)化實(shí)現(xiàn)方法詳解

    Vue首頁界面加載優(yōu)化實(shí)現(xiàn)方法詳解

    如果你也遇到在 vue 應(yīng)用中,首頁加載資源過多,導(dǎo)致加載緩慢的問題,下面的方法也許能幫到你,主要的處理思想是:讓首頁多余的資源能在需要它的時(shí)候再加載
    2022-09-09
  • vue3.0 Reactive數(shù)據(jù)更新頁面沒有刷新的問題

    vue3.0 Reactive數(shù)據(jù)更新頁面沒有刷新的問題

    這篇文章主要介紹了vue3.0 Reactive數(shù)據(jù)更新頁面沒有刷新的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04

最新評(píng)論