Day1.Vue(基本使用和define.properties)

基本使用(概念)

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提供的。


mvc與mvvm.png

關(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();
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一:什么是閉包?閉包的用處? (1)閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)。在本質(zhì)上,閉包就 是將函數(shù)內(nèi)部和函數(shù)外...
    xuguibin閱讀 10,064評(píng)論 1 52
  • vue概述 在官方文檔中,有一句話對(duì)Vue的定位說的很明確:Vue.js 的核心是一個(gè)允許采用簡潔的模板語法來聲明...
    li4065閱讀 7,624評(píng)論 0 25
  • 主要還是自己看的,所有內(nèi)容來自官方文檔。 介紹 Vue.js 是什么 Vue (讀音 /vju?/,類似于 vie...
    Leonzai閱讀 3,545評(píng)論 0 25
  • 1、active-class是哪個(gè)組件的屬性?嵌套路由怎么定義?答:vue-router模塊的router-lin...
    jane819閱讀 1,832評(píng)論 0 15
  • VUE介紹 Vue的特點(diǎn)構(gòu)建用戶界面,只關(guān)注View層簡單易學(xué),簡潔、輕量、快速漸進(jìn)式框架 框架VS庫庫,是一封裝...
    多多醬_DuoDuo_閱讀 2,860評(píng)論 1 17

友情鏈接更多精彩內(nèi)容