首頁 web前端 js教程 vue內建指令使用說明

vue內建指令使用說明

May 02, 2018 pm 01:59 PM
使用說明 內建 指令

這次帶給大家vue內建指令使用說明,vue內建指令使用說明的注意事項有哪些,以下就是實戰案例,一起來看一下。

指令 (Directives) 是帶有 v- 前綴的特殊屬性, 職責是,當表達式的值改變時,將其產生的連帶影響,響應式地作用於 DOM。

內建指令

1、v-bind:回應並更新DOM特性;例如:v-bind:href  v-bind:class v-bind:title  等等

主要用法是綁定屬性,動態更新HTML元素上的屬性;

<a v-bind:href="url" rel="external nofollow" rel="external nofollow" >...</a>
<!-- 缩写 -->
<a :href="url" rel="external nofollow" rel="external nofollow" >...</a>
<p :title=&#39;title&#39;>标题</p>
var app = new Vue({
  el: '#app',
  data: { 
    url: 'www.baidu.com',
    title: 'bind'
  },
})
登入後複製

2、v-on:用於監聽DOM事件; 例如:v-on:click  v-on:keyup

# 順帶講一下方法與事件

##2.1 @click 的表達式可以直接

使用JavaScript 語句,也可以是一個在Vue 實例中methods 選項內的函數名,可以在方法中傳遞參數

<!-- 完整语法 -->
<a v-on:click="doSomething">...</a>
<!-- 缩写 -->
<a @click="doSomething()">...</a>    //是一个方法名
<p ng-if=&#39;show&#39;>一段文本</p>
<button @click="show=false">点击隐藏文本</button>  //直接是一个内联的语句
<button v-on:click="count++">Add 1</button>
var app = new Vue({
  el: '#app',
  data:{
    show: true,
    counter: 0
  },
  methods: {
    doSomething: function(){
      console.log(this.title);
    },
  }
})
登入後複製
2.2方法與事件:

Vue 提供了一個特殊變數$event ,用於存取原生DOM 事件,可以阻止事件冒泡或阻止連結開啟

寫一個阻止冒泡的範例:

  <p @click="stopClick1(&#39;stop1&#39;,$event)">
      <p @click="stopClick2(&#39;stop2&#39;,$event)">
        <p @click="stopClick3(&#39;stop3&#39;,$event)">阻止冒泡</p>
      </p>
    </p>
  </p>
methods:{
    stopClick3: function(message, event){
      console.log(message);
      event.stopPropagation();  //阻止冒泡
    },
    stopClick2: function(message, event){
      console.log(message);
    },
    stopClick1: function(message, event){
      console.log(message);
    }
}
登入後複製
2.3修飾符:

在@綁定的事件後面加上小圓點“.”,再跟一個後綴來使用修飾符。

上面的阻止冒泡事件,可以直接使用者修飾符的方式寫為:

<p @click.stop="stopClick3(&#39;stop3&#39;)">阻止冒泡</p>  //不用通过$event事件再来写了
登入後複製
常用的一些修飾符有:

• .stop

• .prevent

• .capture

• .self

• .once

< !一阻止单击事件冒泡一〉
<a @click.stop=”handle "></a>
〈!一修饰符可以串联一〉
<a @click.stop.prevent=” handle ” ></a>
〈!一添加事件侦听器时使用事件捕获模式一〉
<p @click . capture=”handle ”> ... </p>
〈!一只当事件在该元素本身(而不是子元素) 触发时触发回调一〉
<p @click.self=” handle ”> ... </p>
< !一只触发一次,组件同样适用一〉
<p @click.once=” handle ”> ... </p>
登入後複製
在表單元素上監昕鍵盤事件時,還可以使用按鍵修飾符,例如按下特定某個鍵時才呼叫方法:

< !一只有在keyCode 是13 时调用vm.submit()一〉
<input @keyup.13 =“ submit ”〉
登入後複製

3、v-model:資料雙向綁定;用於表單輸入等;例如:< input v-model = "message">

4、v-show:條件渲染指令,為DOM設定css的style屬性

#5、v-if:條件渲染指令,動態在DOM內添加或刪除DOM元素

6、v-else:條件渲染指令,必須跟v-if成對使用

7、v-else-if:判斷多層條件,必須跟v -if成對使用;

8、v-text:更新元素的textContent;例如: 等於< span>{{ msg}} ;

9、v-html:更新元素的innerHTML;會把標籤名稱也帶上。

10、v-for:循環指令;例如:

<p id= "app ">
    <ul>
      <li v-for="book in books">{ { book.name } }</li>
    </ul>
  </p>
var app =new Vue({
  el: '#app',
  data: {
    books: [
      {name: '<vue.js实战>'},
      {name: '<javascript语言精粹>'},
      {name: '<javascript高级程序设计>'}
    ]
  }
});
登入後複製
10.1 v- for 的表達式

遍歷數組時支援一個可選參數作為當前項目的索引, 例如:

  <p id="app">
    <ul>
      <li v-for="(book , index) in books ">{{ index}} - {{book.name })</li>
    </ul>
  </p>
登入後複製
10.2 v- for 的表達式

遍歷物件屬性時,有兩個可選參數,分別是鍵名和索引:

  <p id= "app">
    <ul>
      <li v-for="(value , key , index) in user ">
        { { index } } - { { key } } : { { value } }
      </li>
    </ul>
  </p>
var app = new Vue({
  el: '#app',
  data: {
    name: 'Aresn',
    grender: '男',
    age:23
  }
});
登入後複製
#10.3 v - for 的表達式也可以迭代整數:

 <p id="app">
    <span v-for="n in 10">{{n}}</span>
  </p>
登入後複製
10.4 陣列更新

當我們修改陣列時, Vue 會偵測到資料變化,所以用v-for 渲染的視圖也會立即更新。

• push()

• pop()
• shift()
• unshit()
• splice()
• sort()
• reverse ()

這些方法會改變被這些方法呼叫的原始陣列

例如,我們將先前範例的資料books 新增一項:

app.books.push({
  name: '《css世界》'
});
登入後複製
有些方法不會改變原始數組,例如:

• filter()

• concat()
• slice()

它們傳回的是一個新數組,在使用這些非變異方法時,可以用新數組來替換原始數組,如:

app.books = app.books.filter(function (item) {
  return item . name.match(/JavaScript/);
});
登入後複製
Vue 在檢測到數組變化時,並不是直接重新渲染整個列表,而是最大化地復用DOM 元素。

取代的陣列中,含有相同元素的項目不會被重新渲染,因此可以大膽地用新陣列來取代舊數組,不用擔心效能問題。

10.5 濾波與排序

当你不想改变原数组,想通过一个数组的副本来做过滤或排序的显示时, 可以使用计算属性来返回过滤或排序后的数组 ,例如: 

  <p id="app">
    <ul>
      <template v-for="book in filterBooks">
        <li>书名:{{book.name}}</li>
        <li>作者:{{book.author}}</li>
      </template>
    </ul>
  </p>
var app= new Vue({
  el: '#app',
  computed: {
    filterBooks: function(){
      return this.books.filter(function (book) {
        return book.name.match(/JavaScript/);
      })
    },
  }
});
登入後複製

11、v-cloak:不需要表达式,这个指令保持在元素上直到关联实例结束编译; v-cloak 是一个解决初始化慢导致页面闪动的最佳实践 ;

12、v-once:也是一个不需要表达式的指令,作用是定义它的元素或组件只渲染一次,包括元素或组件的所有子节点。

首次渲染后,不再随数据的变化重新渲染,将被视为静态内容; v-once 在业务中也很少使用,当你需要进一步优化性能时,可能会用到。

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

怎么让页面代码分割并且按需加载

Vue中slots/scoped使用详解

以上是vue內建指令使用說明的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

泰拉瑞亞怎麼用指示取得物品? -泰拉瑞亞怎麼收藏物品? 泰拉瑞亞怎麼用指示取得物品? -泰拉瑞亞怎麼收藏物品? Mar 19, 2024 am 08:13 AM

泰拉瑞亞怎麼用指示取得物品?一、什麼是泰拉瑞亞給予物品指令在泰拉瑞亞遊戲中,給予物品指令是一項非常實用的功能。透過這個指令,玩家可以直接取得需要的物品,而不必費力地去打怪或傳送到某個地點。這樣可以大大節省時間,提高遊戲的效率,讓玩家更專注於探索和建立世界。總的來說,這個功能讓遊戲體驗變得更加流暢和愉快。二、如何使用泰拉瑞亞給予物品指令1.打開遊戲並進入遊戲介面。 2.按下鍵盤上的「Enter」鍵,開啟聊天視窗。 3.在聊天視窗中輸入指令的格式:「/give[玩家名稱][物品ID][物品數量]」。

VUE3快速入門:使用Vue.js指令實作選項卡切換 VUE3快速入門:使用Vue.js指令實作選項卡切換 Jun 15, 2023 pm 11:45 PM

本文旨在協助初學者快速入手Vue.js3,實現簡單的選項卡切換效果。 Vue.js是一個流行的JavaScript框架,可用於建立可重複使用的元件、輕鬆管理應用程式的狀態和處理使用者介面的互動操作。 Vue.js3是該框架的最新版本,相較於先前的版本變動較大,但基本原理並未改變。在本文中,我們將使用Vue.js指令實作選項卡切換效果,目的是讓讀者熟悉Vue.js的

探索自備MC指令的輸入法的無限可能性(打造完美遊戲體驗的創新工具-自備MC指令輸入法) 探索自備MC指令的輸入法的無限可能性(打造完美遊戲體驗的創新工具-自備MC指令輸入法) May 02, 2024 pm 03:01 PM

行動裝置成為人們生活中不可或缺的一部分,在現代社會。而遊戲也成為人們閒暇時的主要娛樂方式之一。不斷有人致力於開發新的工具和技術來優化遊戲玩法,為了提高遊戲體驗。而自備MC指令的輸入法就是其中一種引人注目的創新。以及它如何為玩家帶來更好的遊戲體驗,本文將深入探討自備MC指令輸入法的無限可能性。自帶MC指令輸入法簡介自帶MC指令輸入法是一種結合了MC指令和智慧輸入法功能的創新工具。從而實現更多的操作和功能,透過在行動裝置上安裝該輸入法、玩家可以方便地在遊戲中使用各種指令。快速輸入指令,提高遊戲效率

盤點Python內建函數sorted()高階用法實戰 盤點Python內建函數sorted()高階用法實戰 May 13, 2023 am 10:34 AM

一、前言前幾天在Python鑽石交流群有個叫【emerson】的粉絲問了一個Python排序的問題,這裡拿出來給大家分享下,一起學習下。其實這裡【瑜亮老師】、【布達佩斯的永恆】等人講了很多,只不過對於基礎不太好的小夥伴們來說,還是有點難的。不過在實際應用內建函數sorted()用的還是蠻多的,這裡也單獨拿出來講一下,希望下次再有小夥伴遇到的時候,可以不慌。二、基礎用法內建函數sorted()可以用來做排序,基礎的用法很簡單,看個例子,如下圖。 lst=[3,28,18,29,2,5,88

一加budsPro怎麼使用_一加budsPro使用說明 一加budsPro怎麼使用_一加budsPro使用說明 Mar 23, 2024 am 10:11 AM

1.降噪模式與通透模式切換長捏耳機柄約1秒鐘,可在降噪模式與通透模式之間切換。 2.音樂模式單次按捏耳機柄,可暫停或播放音樂兩次按捏耳機柄,可播放下一首三次按捏耳機柄,可播放上一首或喚醒語音。 3.通話模式通話狀態下,單次按捏耳機柄,可接聽或掛斷電話。 4.如何重置開啟耳機盒,充電盒指示燈閃爍紅燈5次後,放開按鍵,耳機重置完成。三、怎麼連接手機1、打開充電盒2、長按設定按鍵2秒3、待手機螢幕出現彈窗,點選確認連接。四、怎麼查看電量1、當耳機連接手機時,可在手機螢幕彈窗中查看耳機及充電盒電量。 2、

電腦能直接執行的指令包括哪兩個部分 電腦能直接執行的指令包括哪兩個部分 Dec 09, 2020 am 09:15 AM

電腦能直接執行的指令包括操作碼和操作數兩個部分。操作碼是指電腦程式中所規定的要執行操作的那一部分指令或字段,其實就是指令序號,用來告訴CPU需要執行哪一條指令。

UniApp實現支付功能的存取與使用說明 UniApp實現支付功能的存取與使用說明 Jul 04, 2023 am 10:27 AM

UniApp實現支付功能的存取與使用說明隨著行動支付的普及,許多應用程式都需要整合支付功能,以方便用戶進行線上支付。 UniApp作為一種基於Vue.js的跨平台開發框架,具有一次開發多平台使用的特點,可輕鬆實現支付功能的存取。本文將介紹UniApp中如何接入支付功能,並給出程式碼範例。一、支付功能的接入在App端的manifest.json檔案中加入支付權限:

阻止冒泡事件的指令有哪些 阻止冒泡事件的指令有哪些 Nov 21, 2023 pm 04:14 PM

阻止冒泡事件的指令有stopPropagation()、cancelBubble屬性、event.stopPropagation()、event.cancelBubble屬性、event.stopImmediatePropagation()等。詳細介紹:1、stopPropagation()是最常用的指令之一,用於停止事件的傳播。當事件觸發時,呼叫該方法可以阻止事件繼續等等。

See all articles