vue3

Promise

Promise出現(xiàn)的原因: 就是為了解決回調地獄問題(將回調函數(shù)的寫法進行了更新,之前是傳參現(xiàn)在可以通過then)

Promise的使用

Promise的狀態(tài)說明

  1. pendding: 異步操作還未結束

  2. fullfilled / resolved: 異步操作已經(jīng)結束并且成功了

  3. rejected : 異步操作已經(jīng)結束并且失敗了

  4. 別人提供的Promise的api我們可以直接使用then方法來寫回調!

axios().then(res=>{})
  1. 我們可以通過Promise來給別人提供相應的回調函數(shù)的改進寫法
function timeOut(time){
    return new Promise(function(resolve, reject){
        //resolve就是將當前promise對象的狀態(tài)更改為成功, 會調用then里面的第一個函數(shù)
        //reject就是將當前promise對象的狀態(tài)更改為失敗,會調用then里面的第二個函數(shù),或者catch里的函數(shù)
        setTimeout(function(){
            resolve();
        }, time);
    })
}

timeOut(1000).then(_=>console.log("1s后做的事情"))

自定義指令

指令的基本格式

指令名:參數(shù).修飾符="表達式"

自定義指令什么時候用?

在Vue中如果遇到需要進行DOM操作的情況,就使用自定義指令

如何注冊自定義指令

  1. 全局注冊
Vue.directive("指令名不帶v-", {
    bind(el, binding){
        //el 就是當前指令所在的元素dom對象
        //binding: 就是和指令相關的所有的信息(上面的指令的格式中的所有的內容)
            //指令名: binding.name  binding.rawName
            //參數(shù): binding.arg
            //修飾符: binding.modifiers 
            //表達式:binding.expression
            //表達式的值: binding.value
    },
    inserted(){},
    update(){},
    componentUpdated(){},
    unbind(){}
})


//平時使用的時候 并不一定5個鉤子都會用到,最常用的是bind和update
//所以下面的簡寫形式,就是同時設置了bind和update兩個鉤子函數(shù)
Vue.directive("指令名不帶v-", function(){})
  1. 局部注冊
var vm = new Vue({
    directives: {
        "指令名": {},
        "指令名": function(){}
    }
})

自定義指令練習(3遍?。。?/h3>

自定義過濾器

概念??

過濾器可以接收一個數(shù)據(jù),并且加工之后返回一個新的數(shù)據(jù)
本質就是一個函數(shù),接收參數(shù),并且有返回值

html中如何用??

{{data | 過濾器名稱(arg1...argN)}}

如何注冊過濾器

Vue.filter("過濾器名稱", function(value, arg1...argN){
    //value指的就是|前面的內容,也就是要被過濾的內容
    //arg1...argN就是過濾器名稱后面?zhèn)魅氲膮?shù)
    //過濾器一定要有返回值
})

var vm = new Vue({
    filters:{
        "過濾器名稱": function(value, arg1...argN){

        }
    }
})

過渡

過渡的6個狀態(tài)

進入前 進入時 進入后
離開前 離開時 離開后

實現(xiàn)方式

  1. 自定義類樣式實現(xiàn)
    1.1 在css樣式表中,添加6個類樣式 name-enter name-enter-to name-enter-active
    name-leave name-leave-to name-leave-active
    1.2 在要實現(xiàn)過渡的元素上包裹一個transition標簽,將name設置為類樣式開頭的name,如果不設置name,默認會找v-打頭的類樣式

  2. 第三方css庫實現(xiàn)

    <transition enter-active-class="animated tada" leave-active-class="animated bounceOutRight">
        <div></div>
    </transition>
    
  3. js鉤子函數(shù)實現(xiàn)
    3.1 8個鉤子函數(shù)
    before-enter
    enter
    after-enter
    enter-cancelled
    before-leave
    leave
    after-leave
    leave-cancelled

    3.2 一般我們會在 before-enter中設置進入前的樣式 enter中設置進入后以及過渡時的樣式, enter中需要先觸發(fā)一次重繪 el.offsetWidth

單頁面應用

本質: 根據(jù)hash值的改變,切換顯示頁面中的內容??!

練習(自己實現(xiàn)一個簡單的單頁面應用?。?/h3>

組件

組件化

將頁面按照功能,進行拆分,創(chuàng)建成組件,每需要一個頁面的時候,只需要把創(chuàng)建好的組件拿過來組裝成一個新的頁面即可

組件

包含html,css,js的功能代碼!

組件的注冊

    Vue.component("組件名(不能用駝峰命名)", {
        template: "html模板字符串",
        data(){
            return {
                // 這里就是數(shù)據(jù)
            }
        }
    })

    var vm = new Vue({
        components: {
            "組件名(不能用駝峰命名)": {
                template: "html模板字符串",

                //data為什么是個函數(shù)(仔細思考?。。。?                data(){
                    return {
                        // 這里就是數(shù)據(jù)
                    }
                }
            }
        }
    })


    var obj = Vue.extend({
        template: "html模板字符串",
        data(){
            return {
                // 這里就是數(shù)據(jù)
            }
        }
    })

    Vue.component("組件名", obj)

如何在頁面中使用一個組件

<組件名></組件名>

<組件名/>

預習組件!

  1. 組件之間的切換
  2. 組件之間的通信
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評論 19 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,816評論 25 709
  • 這篇筆記主要包含 Vue 2 不同于 Vue 1 或者特有的內容,還有我對于 Vue 1.0 印象不深的內容。關于...
    云之外閱讀 5,168評論 0 29
  • 一念一世界,觀念很重要(他想出一個策略。無論做什么事情,在開始之前,都要想盡一切辦法為這個事情賦予重大的意義,甚至...
    lushunneng閱讀 335評論 0 0
  • 很多時候,我們會經(jīng)常忽視我們身邊的親人,無論工作多忙,都應該多陪陪他們,每個人的生命只有一次,如果選擇錯了,可能會...
    秋刀魚的幻想閱讀 416評論 0 0

友情鏈接更多精彩內容