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

詳解Vue中的基本語法和常用指令

 更新時間:2019年07月23日 16:32:03   作者:吳佼奮  
Vue.js 是一套構(gòu)建用戶界面的框架,**只關(guān)注視圖層**,它不僅易于上手,還便于與第三方庫或既有項目整合。這篇文章主要介紹了vue 的基本語法和常用指令,需要的朋友可以參考下

什么是vue.js

Vue.js是目前最火的一個前端框架,React是最流行的一個前端框架(React除了開發(fā)網(wǎng)站,還可以開發(fā)手機(jī)App, Vue語法也是可以用于進(jìn)行手機(jī)App開發(fā)的,需要借助于Weex)

Vue.js 是前端的**主流框架之一**,和Angular.js、React.js 一起,并成為前端三大主流框架!

Vue.js 是一套構(gòu)建用戶界面的框架,**只關(guān)注視圖層**,它不僅易于上手,還便于與第三方庫或既有項目整合。(Vue有配套的第三方類庫,可以整合起來做大型項目的開發(fā))

Vue.js模本語法

1、插值表達(dá)式

數(shù)據(jù)綁定最常見的形式就是使用 {{...}}(雙大括號)的文本插值

 <div id="app">
   <div>{{ message }}</div>
  </div>

  <script>
   new Vue({
    el: '#app',
    data: {
     message: '<h1>vue的初次學(xué)習(xí)</h1>'
    }
   })
  </script>

v-html 指令 :用于輸出 html 代碼:

<div id="app">
   <div v-html="message"></div>
  </div>
  <script>
   new Vue({
    el: '#app',
    data: {
     message: '<h1>vue的初次學(xué)習(xí)</h1>'
    }
   })
  </script>

v-text 指令 :是用于輸出文本       

<div id="app">
   <div v-text="message"></div>
  </div>
  <script>
   new Vue({
    el: '#app',
    data: {
     message: '<h1>vue的初次學(xué)習(xí)</h1>'
    }
   })
  </script>

2、Vue.js的條件判斷

v-if條件判斷指令

<div id="app">
   <p v-if="seen">現(xiàn)在你看到我了</p>
   <template v-if="ok">
    <h1>菜鳥教程</h1>
    <p>學(xué)的不僅是技術(shù),更是夢想!</p>
    <p>哈哈哈,打字辛苦?。。。?lt;/p>
   </template>
  </div>

  <script>
   new Vue({
    el: '#app',
    data: {
     seen: true,
     ok: true
    }
   })
  </script>

如果 seen 為true 這顯示 p 標(biāo)簽。否則隱藏

注意:

1、    v-show 其用法和 v-if 相同也可以設(shè)置元素的顯示或隱藏。但是不具備條件判斷功能
2、    v-else、v-else-if 可以給v-if 設(shè)置一個 else 模塊、else-if模塊
3、    v-else 、v-else-if 必須要跟在 v-if 或v-else-if 模塊后面

3、Vue.js循環(huán)語法

v-for 指令需要以  site in sites 形式的特殊語法, sites 是源數(shù)據(jù)數(shù)組并且 site 是數(shù)組元素迭代的別名

1.迭代數(shù)組

<div id="app">
   <ol>
    <li v-for="site in sites">
     {{ site.name }}
    </li>
   </ol>
  </div>
  <script>
   new Vue({
    el: '#app',
    data: {
     sites: [
      {name: 'Runoob'},
      {name: 'Google'},
      {name: 'Taobao'}
      ]
    }
   })
  </script>

2.迭代對象中的屬性

<div v-for="(val, key, i) in userInfo">
{{val}} --- {{key}} --- {{i}}
</div>

其中:【userinfo】是一個對象

3.迭代數(shù)字

<p v-for="i in 10">這是第 {{i}} 個P標(biāo)簽</p>

4、Vue.js 常用指令

v-cloak : 能夠解決插值表達(dá)式閃爍的問題

v-bind :是vue提供的用于綁定屬性的指令??梢院唽憺?nbsp; : 要綁定的指令 。

<input type="button" value="按鈕" v-bind:title="mytitle + '123'">
<script>
   var vm = new Vue({
    el: '#app',
    data: {
     mytitle: '這是一個自己定義的title'
    },
    methods: {
     show: function() {
      alert('Hello')
     }
    }
   })
  </script>

v-model :v-bind 只能實現(xiàn)數(shù)據(jù)的單向綁定。從M 自動綁定到V , 無法實現(xiàn)數(shù)據(jù)的雙向綁定。 而 v-model 指令則可以實現(xiàn)表單元素和 M中數(shù)據(jù)的雙向綁定。

注意: v-model指令只能運(yùn)用在表單元素中 。

<div id="app">
   <h4>{{ msg }}</h4>
   <!-- input(radio, text, address, email....) select checkbox textarea -->
   <input type="text" style="width:100%;" v-model="msg">
  </div>

  <script>
   // 創(chuàng)建 Vue 實例,得到 ViewModel
   var vm = new Vue({
    el: '#app',
    data: {
     msg: '大家都是好學(xué)生,愛敲代碼,愛學(xué)習(xí),愛思考,簡直是完美,沒瑕疵!'
    },
    methods: {}
   });
  </script>

補(bǔ)充說明:前端MVVM 與后端的MVC的區(qū)別。

MVC:是后端分層開發(fā)的概念。

MVVM是前端視圖層的概念。主要關(guān)注于視圖層分離,也就是說:MVVM吧前端的視圖層分為了三部分。Model ,View ,VM ViewModel

5、Vue.js 事件處理器

v-on :事件監(jiān)聽可以使用 v-on 指令

<div id="app">
   <!-- `greet` 是在下面定義的方法名 -->
   <button v-on:click="greet">Greet</button>
  </div>

  <script>
   var app = new Vue({
    el: '#app',
    data: {
     name: 'Vue.js'
    },
    // 在 `methods` 對象中定義方法
    methods: {
     greet: function(event) {
      // `this` 在方法里指當(dāng)前 Vue 實例
      alert('Hello ' + this.name + '!')
      // `event` 是原生 DOM 事件
      if(event) {
       alert(event.target.tagName)
      }
     }
    }
   })
  </script>

6、事件修飾符

.stop       阻止冒泡

.prevent    阻止默認(rèn)事件

.capture    添加事件偵聽器時使用事件捕獲模式

.self       只當(dāng)事件在該元素本身(比如不是子元素)觸發(fā)時觸發(fā)回調(diào)

.once      事件只觸發(fā)一次

<div id="app">
   <!-- 使用 .stop 阻止冒泡 -->
   <div class="inner" @click="div1Handler">
    <input type="button" value="戳他" @click.stop="btnHandler">
   </div>
   <!-- 使用 .prevent 阻止默認(rèn)行為 -->
   <!-- <a  @click.prevent="linkClick">有問題,先去百度</a> -->
   <!-- 使用 .capture 實現(xiàn)捕獲觸發(fā)事件的機(jī)制 -->
   <div class="inner" @click.capture="div1Handler">
    <input type="button" value="戳他" @click="btnHandler">
   </div> -->
   <!-- 使用 .self 實現(xiàn)只有點擊當(dāng)前元素時候,才會觸發(fā)事件處理函數(shù) -->
   <div class="inner" @click="div1Handler">
    <input type="button" value="戳他" @click="btnHandler">
   </div>
   <!-- 使用 .once 只觸發(fā)一次事件處理函數(shù) -->
   <!-- <a  @click.prevent.once="linkClick">有問題,先去百度</a> -->
   <!-- 演示: .stop 和 .self 的區(qū)別 -->
   <div class="outer" @click="div2Handler">
    <div class="inner" @click="div1Handler">
     <input type="button" value="戳他" @click.stop="btnHandler">
    </div>
   </div>
   <!-- .self 只會阻止自己身上冒泡行為的觸發(fā),并不會真正阻止 冒泡的行為 -->
   <div class="outer" @click="div2Handler">
    <div class="inner" @click.self="div1Handler">
     <input type="button" value="戳他" @click="btnHandler">
    </div>
   </div>
  </div>
  <script>
   // 創(chuàng)建 Vue 實例,得到 ViewModel
   var vm = new Vue({
    el: '#app',
    data: {},
    methods: {
     div1Handler() {
      console.log('這是觸發(fā)了 inner div 的點擊事件')
     },
     btnHandler() {
      console.log('這是觸發(fā)了 btn 按鈕 的點擊事件')
     },
     linkClick() {
      console.log('觸發(fā)了連接的點擊事件')
     },
     div2Handler() {
      console.log('這是觸發(fā)了 outer div 的點擊事件')
     }
    }
   });
  </script>

7、按鍵修飾符

v-on:keyup : 允許為 v-on 在監(jiān)聽鍵盤事件時添加按鍵修飾符

<input v-on:keyup.enter="submit">

綁定一個回車按鍵時間

8、Vue.js 樣式的綁定

1、Class屬性的綁定(v-bind:class)

<style>
   .active {
    width: 100px;
    height: 100px;
    background: green;
   }
  </style>
<div id="app">
   <div v-bind:class="{ active: isActive }"></div>
  </div>
<script>
   new Vue({
    el: '#app',
    data: {
     isActive: true
    }
   })
  </script>

也可以:

<div id="app">
   <div v-bind:class="active"></div>
  </div>

2、數(shù)組語法

即我們可以向v-bind:class 傳遞一個數(shù)組

<style>
   .active {
    width: 100px;
    height: 100px;
    background: green;
   }
   
   .text-danger {
    background: red;
   }
  </style>
  <div id="app">
   <div v-bind:class="[activeClass, errorClass]"></div>
  </div>

  <script>
   new Vue({
    el: '#app',
    data: {
isActive: true,
     activeClass: 'active',
     errorClass: 'text-danger'
    }
   }) 
  </script>

同時在數(shù)組中我們也可以使用三元表達(dá)式:

<div v-bind:class="[errorClass ,isActive ? activeClass : '']"></div>

3、Vue.js 的內(nèi)聯(lián)樣式(v-bind:style)

1、直接設(shè)置樣式

<div id="app">
    <div v-bind:style="{ color: activeColor, fontSize: fontSize + 'px' }">測試內(nèi)聯(lián)樣式</div>
   </div>

2、綁定樣式對象

<div id="app">
   <div v-bind:style="styleObject">測試綁定樣式對象</div>
  </div>

  <script>
   new Vue({
    el: '#app',
    data: {
     styleObject: {
      color: 'green',
      fontSize: '30px'
     }
    }
   })
  </script>

3、綁定多個樣式對象 

<div id="app">
   <div v-bind:style="[baseStyles, overridingStyles]">綁定多個樣式對象</div>
  </div>

  <script>
   new Vue({
    el: '#app',
    data: {
     baseStyles: {
      color: 'green',
      fontSize: '30px'
     },
     overridingStyles: {
      'font-weight': 'bold'
     }
    }
   })
  </script>

總結(jié)

以上所述是小編給大家介紹的vue 的基本語法和常用指令,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關(guān)文章

  • vuex中store存儲store.commit和store.dispatch的用法

    vuex中store存儲store.commit和store.dispatch的用法

    這篇文章主要介紹了vuex中store存儲store.commit和store.dispatch的用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Vue組件化開發(fā)之通用型彈出框的實現(xiàn)

    Vue組件化開發(fā)之通用型彈出框的實現(xiàn)

    這篇文章主要介紹了Vue組件化開發(fā)之通用型彈出框的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Vue的Props實例配置詳解

    Vue的Props實例配置詳解

    props主要用于組件的傳值,他的工作就是為了接收外面?zhèn)鬟^來的數(shù)據(jù),與data、el、ref是一個級別的配置項,下面這篇文章主要給大家介紹了關(guān)于Vue組件如何設(shè)置Props的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • 淺析vue component 組件使用

    淺析vue component 組件使用

    本篇文章主要介紹了vue component 組件使用 ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • vue實現(xiàn)拖拽小圖標(biāo)

    vue實現(xiàn)拖拽小圖標(biāo)

    這篇文章主要為大家詳細(xì)介紹了vue實現(xiàn)拖拽小圖標(biāo),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 安裝nvm?node版本管理器的操作方法(vue2.x遷移vue3.x)

    安裝nvm?node版本管理器的操作方法(vue2.x遷移vue3.x)

    這篇文章主要介紹了安裝nvm?node版本管理器(vue2.x遷移vue3.x)的操作方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-01-01
  • vue根據(jù)權(quán)限動態(tài)渲染按鈕、組件等的函數(shù)式組件實現(xiàn)

    vue根據(jù)權(quán)限動態(tài)渲染按鈕、組件等的函數(shù)式組件實現(xiàn)

    這篇文章主要介紹了vue根據(jù)權(quán)限動態(tài)渲染按鈕、組件等的函數(shù)式組件實現(xiàn)方式,具有很好的參考價值,希望杜大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • vue3項目中代碼出現(xiàn)紅色波浪線的問題及解決

    vue3項目中代碼出現(xiàn)紅色波浪線的問題及解決

    這篇文章主要介紹了vue3項目中代碼出現(xiàn)紅色波浪線的問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue實現(xiàn)評價星星功能

    vue實現(xiàn)評價星星功能

    這篇文章主要為大家詳細(xì)介紹了vue實現(xiàn)評價星星功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • vue實現(xiàn)下拉框的多選功能(附后端處理參數(shù))

    vue實現(xiàn)下拉框的多選功能(附后端處理參數(shù))

    本文介紹了如何使用Vue實現(xiàn)下拉框的多選功能,實現(xiàn)了在選擇框中選擇多個選項的功能,文章詳細(xì)介紹了實現(xiàn)步驟和示例代碼,對于想要了解如何使用Vue實現(xiàn)下拉框多選功能的讀者具有一定的參考價值
    2023-08-08

最新評論

正蓝旗| 德州市| 来宾市| 通江县| 梧州市| 寻乌县| 阳谷县| 河津市| 海门市| 竹溪县| 宁远县| 山丹县| 湖口县| 三都| 民勤县| 子洲县| 三河市| 武乡县| 阿荣旗| 海宁市| 甘南县| 腾冲县| 金乡县| 通城县| 旅游| 新昌县| 江陵县| 周至县| 浦城县| 四子王旗| 河北区| 商河县| 资阳市| 西充县| 沙坪坝区| 巴彦淖尔市| 华阴市| 怀柔区| 沙田区| 绥滨县| 武定县|