vue第五天

vue組件:一些知識點的記錄vue

1. 全局組件web

<aaa></aaa>
var Aaa=Vue.extend({
    template:'<h3>我是標題3</h3>'
});

Vue.component('aaa',Aaa);

*組件裏面放數據: data必須是函數的形式,函數必須返回一個對象(json)chrome

2. 局部組件:放到某個組件內部json

var vm=new Vue({
    el:'#box',
    data:{
        bSign:true
    },
    components:{ //局部組件
        aaa:Aaa
    }
});

另外一種編寫方式:函數

Vue.component('my-aaa',{
        template:'<strong>好</strong>'
    });

    var vm=new Vue({
        el:'#box',
        components:{
            'my-aaa':{
                template:'<h2>標題2</h2>'
            }
        }
    });

配合模板:工具

1. template:'<h2 @click="change">標題2->{{msg}}</h2>'

2. 單獨放到某個地方-[推薦]
    a).     <script type="x-template" id="aaa">
                <h2 @click="change">標題2->{{msg}}</h2>
            </script>
    b).    <template id="aaa"> 
                <h1>標題1</h1>
                <ul>
                    <li v-for="val in arr">
                        {{val}}
                    </li>
                </ul>
            </template>

動態組件:google

<component :is="組件名稱"></component>

vue-devtools -> 調試工具spa

https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd

vue默認狀況下,子組件也無法訪問父組件數據調試


組件數據傳遞: √code

1. 子組件就想獲取父組件data

在調用子組件:
        <bbb :m="數據"></bbb>

子組件以內:
        props:['m','myMsg']

        props:{
            'm':String,
            'myMsg':Number
        }

2. 父級獲取子級數據

*子組件把本身的數據,發送到父級

vm.$emit(事件名,數據);

v-on:    @

vm.$dispatch(事件名,數據)     子級向父級發送數據
vm.$broadcast(事件名,數據)    父級向子級廣播數據
配合: event:{}

在vue2.0裏面已經,報廢了

slot:

位置、槽口 做用: 佔個位置

相似ng裏面 transclude  (指令)
相關文章
相關標籤/搜索