美文网首页Vue
在vue中使用插槽

在vue中使用插槽

作者: 程序员同行者 | 来源:发表于2018-07-12 18:35 被阅读0次

    slot 插槽

    <!DOCTYPE html>
    <html>
    <head>
       <title>在vue中使用插槽</title>
       <script src="./vue.js"></script>
    </head>
    <body>
       <!-- // 父组件给子组件插入额外的dom区块 -->
       <!-- // 这里定义了2个具名插槽 一个叫header一个叫footer -->
       <div id='app'>
           <counter>
               <div class="header" slot="header">header</div>
               <div class="footer" slot="footer">footer</div>
           </counter>
           
       </div>
    
    
       <!-- // 作用域插槽 -->
       <!-- // 作用域插槽必须是一个template开头和结尾的,同时要声明从子组件传来的数据放在哪,slot-scope='props'这个指定。还有接收过来的数据改如何展示 -->
       <div id='app-1'>
           <child>
               <template slot-scope='props'>
                   <li>{{props.item}} -- hello</li>
                   
               </template>
           </child>
       </div>
    <script>
    
       var counter = {
           template: `<div >
                       <slot name="header"></slot>
                       <div class="content">content</div>
                       <slot name="footer"></slot>
                       </div>`,
       
       }
    
       var vm =  new Vue({
           el:'#app',
           components: {
               counter: counter
           },
           
       })
    
    
       var child = {
           data: function() {
               return {
                   list: [1,2,3,4,5]
               }
           },
           template: `<div>
                       <ul>
                       <slot v-for="item of list"
                           :item="item">
                       </slot>
                       </ul>
                       </div>`
       
       }
    
       var vm1 =  new Vue({
           el:'#app-1',
           components: {
               child: child
           }
       })
    </script>
    </body>
    </html>
    

    相关文章

      网友评论

        本文标题:在vue中使用插槽

        本文链接:https://www.haomeiwen.com/subject/puwrpftx.html