vue-插槽和具名插槽

 

 

<!DOCTYPE html>
<html>
    <head>
        
        <meta charset="utf-8">
        <title>vue1</title>
        <script src="https://cdn.bootcss.com/vue/2.6.11/vue.js"></script>
      
        <link rel="stylesheet" type="text/css" href="vue.css">
    
    </head>
    <body>
        
        
        <div id="app">

            <comp :msg="msg">
                <h1 >tongyong</h1>
                <h1 slot=s1>S1slot</h1>
            </comp>
        </div>    
        
        
        <script>
            var comp={


                //在組件中插入html會放到slot插槽處
                //具名插槽s1會放相應的slot=s1的內容
                template:`<div>
                    <h1>first line</h1>
                    <slot name="s1"></slot>
                    <h1>second line</h1>
                    <slot ></slot>
                    <h1>third line</h1>
                    {{msg}}</div>`,

            }
            var app=new Vue({
                el:"#app",
                components:{
                    comp
                }
 
                
            })        
        </script>
    </body>
</html>

 

 

作用域插槽

<!DOCTYPE html>
<html>
    <head>
        
        <meta charset="utf-8">
        <title>vue1</title>
        <script src="https://cdn.bootcss.com/vue/2.6.11/vue.js"></script>
      
        <link rel="stylesheet" type="text/css" href="vue.css">
    
    </head>
    <body>
        
        
        <div id="app">

            <comp >
                //組件的值傳到html中,要包在template中,
                <template slot-scope="data">
                    <div>{{data.msg}}</div>
                </template>
            </comp>
        </div>    
        
        
        <script>
            var comp={

                //作用域插槽
                template:`<div>
                    <slot :msg=msg></slot>
                    </div>`,

                data(){
                    return{
                        msg:"ssss"
                    }
                }

            }
            var app=new Vue({
                el:"#app",
                components:{
                    comp
                }
 
                
            })        
        </script>
    </body>
</html>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章