日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Vue.js教程学习笔记

發布時間:2025/5/22 115 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Vue.js教程学习笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

官方視頻簡易教程:https://learning.dcloud.io/

1. 安裝與部署

第一階段(初學)可以通過在html文件中引入腳本來完成安裝

<script src="vue.js" type="text/javascript" charset="UTF-8"></script>

如果后期熟悉了CLI安裝器,則生成的可以不是html后綴的文件,而以vue為后綴。

2. 第一個Vue應用

通過雙括號可以進行變量雙向綁定。Vue()函數是Vue.js的主要函數。

var vm = new Vue();
3. 數據與方法

對于

<div id="app"></div>

可以用ID選擇器進行選擇

var data = {a: 1,b: 1 }; var vm = new Vue({el: "#app",data: data });

需要綁定的變量,必須先定義,然后才能生效。一下這兩種寫法的效果是一樣的

vm.$data.b = "bbbBBB"; data.a = "aaaAAA";

可以用watch來監視變量的變化并進行處理,但是一定只對定義watch來監視變量的變化并進行處理,但是一定只對定義watchwatch之后發生的變化生效。

vm.$watch('a', function(newVal, oldVal){console.log(oldVal, ' change to ' ,newVal); }); data.a = "AAaa";

上面的兩句交換位置就不生效了。

4. 生命周期

主要生命周期如下

beforeCreate
created
beforeMount
mounted
beforeUpdate
updated
activated
deactivated
beforeDestroy
destroyed
errorCaptured

5. 模板語法-插值

使用雙花括號進行文本綁定;
使用v-html進行HTML標簽綁定;
使用v-bind進行HTML標簽屬性綁定;

<div id="app"><p>{{ rawHtml }}</p><p v-html="rawHtml"></p><div v-bind:class="my_color_class">test...</div> </div> var vm = new Vue({el: '#app',data: {rawHtml: '<span style="color:red">this should be red</span>',my_color_class: 'my_red'} }); <style type="text/css">.my_red{color:red; font-size:100px;} </style>

插值內容也支持Javascript表達式

{{ number + 1 }} {{ ok ? 'YES' : 'NO' }} {{ message.split('').reverse().join('') }}
6. 模板語法-指令

指令是以“v-”開頭的vue標簽屬性,例如:
v-if(條件渲染)
v-bind(屬性綁定)后用冒號帶參數,如上面的例子

指令后還可以使用修飾符,例如在下面的代碼中,click后面的stop修飾符用于阻止click事件向外層傳遞到click1:

<div @click="click1"><div @click.stop="click2">click here</div> </div> var vm = new Vue({el: '#app',data: { },methods:{click1: function() {console.log("this is click1");},click2: function() {console.log("this is click2");}} });
7. class / style動態綁定

如下面的代碼所示:
class1,class2,class3是3個不同的class,其中class2和class3通過isClass2,isClass3開關進行控制。通過v-bind:class可以將多個class綁定到同一個div上。
:style(注意必須有冒號),可以將style動態綁定。注意動態綁定style的時候,要使用{ },且使用逗號進行分隔。

<!DOCTYPE html> <html><head><meta charset="utf-8"><title></title><script src="vue.js" type="text/javascript" charset="UTF-8"></script></head><body><div id="app"><div class="class1" v-bind:class="[isClass2 ? 'class2' : '', isClass3 ? 'class3' : '']"style="width:300px; height:200px; text-align:center; line-height:200px;">test dynamic class</div><div :style="{color:color1, fontSize:font1, background: isRed ? '#FF0000' : ''}">test dynamic style</div></div><script type="text/javascript">var vm = new Vue({el: '#app',data: {isClass2 : true,isClass3 : true,color1 : "#FFFF00",font1 : "30px",isRed : true}});</script><style type="text/css">.class1{font-size:30px;}.class2{color:#00FF00}.class3{background:#0000FF}</style></body> </html>
8. 條件渲染

主要有v-if(也包括了v-else-if,v-else)和v-show。
前者是真的“條件渲染”,后者是渲染后控制“顯示或隱藏”。
相對而言,前者的切換成本高,后者的初始化成本高。

<!DOCTYPE html> <html><head><meta charset="utf-8"><title></title><script src="vue.js" type="text/javascript" charset="UTF-8"></script></head><body><div id="app"><p v-if="tag1 === 'A'">A</p><p v-else-if="tag1 === 'B'">B</p><p v-else-if="tag1 === 'C'">C</p><p v-else>Not ABC</p><p v-show="isShow">Hello</p></div><script type="text/javascript">var vm = new Vue({el: '#app',data: {tag1 : 'A',isShow : true}});</script></body> </html>
9. 列表渲染

使用v-for可以進行列表渲染,其中循環的目標可以是數組的不同元素,也可以是對象的不同屬性。如下面的代碼所示:

<!DOCTYPE html> <html><head><meta charset="utf-8"><title></title><script src="vue.js" type="text/javascript" charset="UTF-8"></script></head><body><div id="app"><ul><li v-for="item, index in items" :key="index">{{index}} - {{ item.msg }}</li></ul><ul><li v-for="value, key in object" :key="key">{{key}} : {{ value }}</li></ul></div><script type="text/javascript">var vm = new Vue({el: '#app',data: {items: [{msg: 'one'},{msg: 'two'},{msg: 'three'}],object: {name: 'xiaoming',age: 7}}});</script></body> </html>
10. 事件綁定

使用v-on進行事件綁定,它可以綁定當前元素所支持的任意一種事件。事件處理函數可以傳參,也可以使用修飾符。如下:

<div id="app"><button v-on:click="onClicked('abc', $event)">click me</button> </div><script type="text/javascript">var vm = new Vue({el: '#app',data: {name: 'vue'},methods: {onClicked : function(str, e) {alert('Hello '+this.name+', '+str);console.log(e);}}}); </script>
11. 表單輸入綁定

使用 v-model 進行表單輸入綁定。
不同的輸入元素使用不同的 property 并拋出不同的事件:

  • text 和 textarea 元素使用 value property 和 input 事件;
  • checkbox 和 radio 使用 checked property 和 change 事件;
  • select 字段將 value 作為 prop 并將 change 作為事件。

v-model 是雙向綁定,可以通過給data中的變量設置初始值的方法,反向設定表單元素的默認值。
詳見:https://cn.vuejs.org/v2/guide/forms.html

12. 組建基礎

用Vue.component()方法聲明組件:
組件可以復用
組件的data是一個方法
組件的prop可以用來向內傳遞數據
組件必須有一個根元素,否則后續元素無法渲染
組件可以通過$emit方法向外傳遞事件,或者拋出值
通過組件的slot可以支持在外部向組件中插入html元素
詳見:
https://cn.vuejs.org/v2/guide/components.html
https://learning.dcloud.io/#/?vid=12

13. 相關工具的安裝
  • npm安裝
    安裝完node.js后,npm包管理工具就自動安裝好了
  • cnpm
    這是中國版的npm,由于mirror的原因,可以更快的安裝所需的包
npm install -g cnpm
  • vue-cli 腳手架工具
cnpm install -g @vue/cli
  • webpack (JavaScript打包器)
cnpm install -g webpack

總結

以上是生活随笔為你收集整理的Vue.js教程学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。