jquery 庫 -> DOM(操做DOM) + 請求javascript
art-template 庫 -> 模板引擎css
框架 = 全方位功能齊全html
KFC的世界裏,庫就是一個小套餐, 框架就是全家桶前端
代碼上的不一樣vue
1:引包java
2:啓動 new Vue({el:目的地,template:模板內容});react
optionsjquery
目的地 elwebpack
內容 templateweb
數據 data 保存數據屬性
數據驅動視圖
{{ 表達式 }}
能夠用於頁面中簡單粗暴的調試
注意: 必須在data這個函數中返回的對象中聲明
在vue中提供了一些對於頁面 + 數據的更爲方便的輸出,這些操做就叫作指令, 以v-xxx表示
好比在angular中 以ng-xxx開頭的就叫作指令
在vue中 以v-xxx開頭的就叫作指令
指令中封裝了一些DOM行爲, 結合屬性做爲一個暗號, 暗號有對應的值,根據不一樣的值,框架會進行相關DOM操做的綁定
v-text 只能用在雙標籤中
v-text 其實就是給元素的innerText賦值
v-html 其實就是給元素的innerHTML賦值
v-if 若是值爲false,會留下一個<!---->做爲標記,萬一將來v-if的值是true了,就在這裏插入元素
若是有if和else就不須要單獨留坑了
若是全用上 v-if 相鄰v-else-if 相鄰 v-else 不然 v-else-if能夠不用
v-if和v-else-if都有等於對應的值,而v-else直接寫
v-if家族都是對元素進行插入和移除的操做
v-show是顯示與否的問題
注意: 指令其實就是利用屬性做爲標識符,簡化DOM操做,
看:v-model="xxx"
v-model 表明要作什麼 xxx表明針對的js內存對象
寫在那個元素上,就對哪一個元素操做
複製代碼
v-if
是「真正」的條件渲染,由於它會確保在切換過程當中條件塊內的事件監聽器和子組件適當地被銷燬和重建。
v-if
也是惰性的:若是在初始渲染時條件爲假,則什麼也不作——直到條件第一次變爲真時,纔會開始渲染條件塊。
相比之下,v-show
就簡單得多——無論初始條件是什麼,元素老是會被渲染,而且只是簡單地基於 CSS 進行切換。
通常來講,v-if
有更高的切換開銷,而 v-show
有更高的初始渲染開銷。所以,若是須要很是頻繁地切換,則使用 v-show
較好;若是在運行時條件不多改變,則使用 v-if
較好。
給元素的屬性賦值
語法 在元素上 v-bind:屬性名="常量||變量名"
簡寫形式 :屬性名="變量名"
<div v-bind:原屬性名="變量"></div>
<div :屬性名="變量">
</div>
複製代碼
v-on:事件名="表達式||函數名"
@事件名="表達式"
input v-model="name"
input :value="name"
v-for="item in arr"
v-for="item in obj"
v-for="(item,index) in arr" :class="index"
渲染組件-父使用子組件
var Header = { template:'模板' , data是一個函數,methods:功能,components:子組件們 }
components:{ 組件名:組件對象 }
<組件名></組件名>
Vue.component('組件名',組件對象);
filters:{ 過濾器名:過濾器fn }
最終fn內經過return產出最終的數據{{ 原有數據 | 過濾器名 }}
function(data,argv1,argv2...){}
{{ 數據 | 過濾器名(參數1,參數2) }}
npm init -y
npm install webpack@2.2.1 --save-dev --registry https://registry.npm.taobao.org
"scripts": { "test": "webpack ./main.js ./build.js" },
npm run test
fn3() { //幹掉了:function,用在對象的屬性中
console.log(this);
},
複製代碼
<son v-for="(item,index) in persons" :key="index" ></son>
複製代碼
activated(){ //激活的 keep-alive v-if="true"
console.log('activated')
},
deactivated(){ //停用的 keep-alive v-if="false"
console.log('deactivated')
},
beforeDestroy(){ //銷燬前 v-if="false"
console.log('beforeDestroy')
},
destroyed(){//銷燬後 v-if="false"
console.log('destroyed')
},
複製代碼
救命稻草, document.querySelector
1: 在template中標識元素 ref="xxxx"
2: 在要獲取的時候, this.$refs.xxxx 獲取元素
ref在DOM上獲取的是原生DOM對象
ref在組件上獲取的是組件對象