vue 基礎學習 第五天

41 css 動畫

<!-- 1、引用 animate.css -->
<link rel="stylesheet" href="animate.css">

 <div id="app">
    <button @click="flag=!flag">切換</button>
    <!-- 2、用一個 <transition> 標簽把動畫影響的元素包裹起來 -->
    <!-- 3、給 <transition> 屬性 enter-active-class="指定元素顯示時的動畫" leave-active-class="元素隱藏時的動畫" -->
    <transition enter-active-class="animated fadeIn" leave-active-class="animated fadeOut">
        <h1 v-if="flag">測試</h1>
    </transition>
</div>

<script>
    var app = new Vue({
        el: '#app',
        data: {
            flag: true,
        },
    });
</script>
  • 使用 <transition> 標簽將要受到動畫影響的元素包起來
  • <transition> 標簽中指定屬性 enter-active-class="顯示過程動畫樣式類"...
  • 一共有這么幾個屬性:
# enter="開始進入的樣式"
# enter-active="進入過程中"
# enter-to="進完成后"
# leave-active="離開過程中"
# leave="完全離開后"

42 directive 自定義指令

  • 代碼
<div id="app">
    <!-- <span v-star>測試</span> -->
    <input type="text" v-model="title" v-bindandupdate.focus="title">
</div>

<script>
    // Vue.directive('star', {
    //     // 綁定
    //     bind(el, bind) {
    //         console.log(bind);
    //     }
    // })
    // Vue.directive('test', {
    //     // 更新
    //     update(el, bind) {
    //         console.log(bind);
    //     }
    // })
    Vue.directive('bindandupdate', function(el, bind) {
        console.log(bind);
    })
    var app = new Vue({
        el: '#app',
        data: {
            title: "ceshi",
        },
    });
</script>
  • 使用 Vue.directive('指令名稱', { 動作() { //觸發(fā)時執(zhí)行的代碼 } })
  • 在標簽上使用 v-指令名稱 來將指令綁定到元素上
  • bind() 動作是指元素被載入后就觸發(fā)的動作
  • update() 動作是指元素被更新時觸發(fā)的操作
  • 通常我們就使用 bind 和 update 兩個動作,所有很多時候我們可以簡寫為 Vue.directive('指令名稱', function() { //同時綁定update 和 bind 動作 })

43 在組件中使用指令

  • 代碼
<div id="app">
    <h1 v-test="color">字</h1>
    <input type="text" v-model="color" v-focus>
</div>

<script>
    var app = new Vue({
        el: '#app',
        data: {
            color: 'red',
        },
        directives: {
            // 這個相當于 bind() + update() 動作
            test(el, bind) {
                var color = bind.value ? bind.value : red;
                el.style.cssText = "color:" + color;
            },
            // 這個相當于其他動作
            focus: {
                // 比如 inserted : 當子元素插入到父元素的時候調用
                inserted(el, bind) {
                    el.focus();
                }
            }
        }
    });
</script>
  • 指令都寫在 directives 屬性中
  • 同樣,直接寫指令() {} 是直接綁定 bind 和 update 兩個動作
  • 如果要用其他動作,則可以使用 指令: { 動作() { //代碼 } }
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 這篇筆記主要包含 Vue 2 不同于 Vue 1 或者特有的內容,還有我對于 Vue 1.0 印象不深的內容。關于...
    云之外閱讀 5,174評論 0 29
  • 1.安裝 可以簡單地在頁面引入Vue.js作為獨立版本,Vue即被注冊為全局變量,可以在頁面使用了。 如果希望搭建...
    Awey閱讀 11,284評論 4 129
  • Vue 實例 屬性和方法 每個 Vue 實例都會代理其 data 對象里所有的屬性:var data = { a:...
    云之外閱讀 2,365評論 0 6
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,536評論 19 139
  • 主婦A:唉,最近都沒錢花了,這次回家又給了我媽三千。 主婦B:啊?那我媽比你媽好多了,我媽才不瞎要錢。 主婦B:唉...
    羅蕜閱讀 181評論 0 1

友情鏈接更多精彩內容