vue 가족통 구성 요소 기초(7)

3763 단어
1. 구성 요소 등록
(1) 글로벌 등록
// scriptVue.component('button-counter', {
    data: function () {
        return {
            count: 0
        }
    },
    template: ''});new Vue({
    el: '#app'});// html  

(2) 국부 등록
// scriptnew Vue({
    el: '#app',
    components:{
        "button-inner":{
            data: function() {
                return {
                    inner: 0
                }
            },
            template: ''
        }
    }});// html  

2. props 속성 전송값
(1) 속성 값
// scriptnew Vue({
        el: '#app',
        components:{
            "button-props":{
                template:`
1: {{ here }}:--- 2: {{fromHere}}
`,                 props:['here', 'fromHere']             }         }     });// html

PS: 만약 속성이 "-"를 가지고 있다면, props에서 낙타봉 값을 추출해야 합니다. (2) 구조기에서 구성 요소로 값을 전달해야 합니다. (v-bind)
// scriptnew Vue({
        el: '#app',
        data: {
            message: 'hello'
        },
        components:{
            "button-props":{
                template:`
1: {{ here }}:--- 2: {{fromHere}}
`,                 props:['here', 'fromHere']             }         }     });// html

3. 모/자 어셈블리
// script//    var city = {
    template:`
Sichuan of China
`}//  var parent = {     template:         `
            

 Panda from China!

                     
`,     components:{         "city": city    }}//  new Vue({     el: '#app',     //      components:{         //          "parent": parent    }});// html

전체 예제 코드
html>
    
    Vue     
    
         
         
         
         
         
    //      Vue.component('button-counter', {         data: function () {             return {                 count: 0             }         },         template: '<button v-on:click="count++"> : {{ count }}</button>'     });     //      var city = {         template:`<div>Sichuan of China</div>`     }     //      var parent = {         template:             `<div>                 <p> Panda from China!</p>                 <city></city>             </div>`,         components:{             "city": city        }     }     //      new Vue({         el: '#app',         data: {             message: 'hello'         },         //          components:{             "button-inner":{                 data: function() {                     return {                         inner: 0                     }                 },                 template: '<button v-on:click="inner++"> : {{ inner }}</button>'             },             //              "button-props":{                 template:`<div style="color:red;"> 1: {{ here }}:--- 2: {{fromHere}}</div>`,                 props:['here', 'fromHere']             },             //              "parent": parent        }     });

전재 대상:https://blog.51cto.com/4547985/2390747

좋은 웹페이지 즐겨찾기