基本使用(概念)
1.vue的三大核心core,vuex(狀態(tài)管理),vue-Router(路由),也稱為VUE全家桶。
?2. 每個(gè)頁面可以拆分成多個(gè)組件(把一個(gè)頁面或者一個(gè)功能分成幾個(gè)模塊)
3.每一個(gè)vue的實(shí)例都需要掛載在一個(gè)大的容器盒子里。
v-bind與v-model
1.v-bind是vue中提供用于綁定屬性的指令,可以近些為:+要綁定的屬性,v-bind中可以寫合法的js表達(dá)式。
2.v-model用于數(shù)據(jù)的雙向綁定,注意v-model只能運(yùn)用在表單元素中。
二者的區(qū)別:v-bind只能實(shí)現(xiàn)數(shù)據(jù)的單向綁定,從M自動(dòng)綁定到V,無法實(shí)現(xiàn)數(shù)據(jù)的雙向綁定。
v-model可以實(shí)現(xiàn)表單元素和model中數(shù)據(jù)的雙向數(shù)據(jù)板頂。
v-on
是事件綁定機(jī)制,縮寫是@,如@click
vue的事件修飾符
1.使用.stop阻止冒泡:@click。stop值觸發(fā)該目標(biāo)事件
2.阻止默認(rèn)行為:如a標(biāo)簽的跳轉(zhuǎn),@click.prevent
3..cpture:添加事件偵聽器使用捕獲模式,就是先觸發(fā)捕獲事件。
4..self只有點(diǎn)擊當(dāng)前元素的時(shí)候,才會(huì)觸發(fā)事件的事件處理函數(shù)。
5.。once使用once事件只觸發(fā)一次
self和stop的區(qū)別
self只會(huì)阻止自己身上的冒泡行為的觸發(fā),并不會(huì)真正阻止冒泡行為。
關(guān)于mvc與mvvm
mvvm是前端視圖層的分層開發(fā)思想,主要把每個(gè)頁面分成了M\V和vm,其中vm是mvvm思想的核心;因?yàn)関n是m和v之間的調(diào)度者。
M:這里的M保存的是每個(gè)頁面中單獨(dú)的數(shù)據(jù)(發(fā)送Ajax拿回來的數(shù)據(jù))
V:就是每個(gè)頁面中的html結(jié)構(gòu)
vm:他是一個(gè)調(diào)度者,分割了M和V(每當(dāng)V層想要獲取后保存數(shù)據(jù)的時(shí)候,都要有VM做中間的處理),也就是說存取數(shù)據(jù)都要經(jīng)過VM層。
前端頁面中使用mvvm的思想,主要是為了讓我們開發(fā)更加方便,因?yàn)閙vvm提供了數(shù)據(jù)的雙向綁定;注意:數(shù)據(jù)的雙向綁定是VM提供的。

關(guān)于object.creat和boject和define.properties
<button onclick="obj.fullName='ddwdwqdwqdd'">sdasdsad</button>
<script type="text/javascript">
let obj = {
firstName: "kobe",
lastName: "bryant"
}
//第二個(gè)括號(hào)就是對(duì)配置對(duì)象進(jìn)行說明
Object.defineProperties(obj,{
//怎么去取obj中的值,使用get方法,return這個(gè)就是fullName想要設(shè)置的值,
//這個(gè)get方法誰調(diào)用?就是指定的obj方法去調(diào)用的,所以可以直接this點(diǎn)
fullName:{
get(){
return this.firstName+" "+this.lastName;
},
set(data){//監(jiān)聽擴(kuò)展屬性,當(dāng)擴(kuò)展屬性發(fā)生變動(dòng)時(shí)候自動(dòng)調(diào)用,set里面的data接受的就是變動(dòng)的值;
//如果沒去改變fullname的值,則set方法不會(huì)被調(diào)用
//console.log(data);//打印出來maidi
let name="haha";
this.firstName=name;
console.log(data)
console.log(this.firstName)//haha
}
}
})
console.log(obj.fullName);//kobe brynt
console.log(obj.firstName)
//obj.fullName="maidi";
//console.log(obj.fullName);//沒能修改fullname值,還是console kobe
let obj1={
firstName: "trcy",
lastName: "maidi",
get fullName(){
return this.firstName+" "+this.lastName;
},
set fullName(data){
console.log(data)
}
}
console.log(obj1);
obj1.fullName="mai111di";//這種方式consloe出來的值也是一樣的,無權(quán)修改里面屬性,需要調(diào)用set();