1. 程式人生 > >20181125——閱讀其他人的Vue部落格

20181125——閱讀其他人的Vue部落格

友情連結
閱讀緒言:相信這篇文章可能會對產生一些幫助和引起思想的碰撞,因為大家的學習歷程是相似的,遇到的困惑也有一定的共通性,如果文章出現謬誤之處,歡迎各位童鞋及時指正。



**Vue.js是什麼** 是一套構建使用者介面的漸進式框架,與其他框架不同的是,Vue只關注檢視層。 Vue.js是一種MVVM框架,html是view層,js是Model層,通過vue.js完成中間的邏輯,實現繫結的效果。 **基本語法** 利用Vue建構函式,構造一個Vue的例項,然後在實現Vue例項的el介面實現和HTML元素的掛載, 建構函式Vue需要傳入一個選項物件,包括,el ,data ,methods,生命週期鉤子函式

computed例項

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="vue.js"></script>
</head>
<body>
<div id="xixi">{{getMessage}}</div>
<script>
    var vm =new Vue({
        el:"#xixi",
        data () {
            return {
                message: 'xixi'
            }
        },
        computed:{
            getMessage () {
                return this.message
            }
        }
    })
</script>
</body>
</html>

條件渲染

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="vue.js"></script>
</head>
<body>
<div id="xixi">
    <p v-if='ok'>Hello World!</p>
    <p v-else>Hello Universal</p>
</div>
<script>
    var vm = new Vue({
        el:"#xixi",
        data () {
            return {
                ok: true
            }
        }
    })
</script>
</body>
</html>

子傳父

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="vue.js"></script>
</head>
<body>
<div id="app">
    <p>{{total}}</p>
    <my-counter @xixi="fatherClick"></my-counter>
</div>
<script>
    Vue.component('my-counter', {
        template: '<div @click="templateClick">{{count}}</div>',
        data () {
            return {
                count: 0
            }
        },
        methods :{
            templateClick () {
                this.count+=1;
                this.$emit('xixi')
            }
        }
    })
    var vm = new Vue({
        el:"#app",
        data () {
            return{
                total:3
            }
        },
        methods: {
            fatherClick() {
                this.total+=1

            }
        }
    })
</script>
</body>
</html>

父元件可以通過監聽子元件的自定義事件,從而改變父元件的資料;
子元件每點選一次,觸發templateClick函式,該函式在執行過程中通過$emit(‘xixi’)發出templateClick事件;
button控制元件同時監聽xixi事件,每次發出該事件就改變父元件的total值;

今天最最最重要的slot用法
slot的詳細講解