[vue原理的理解]如何理解Vue的作用域插槽的实现原理

更新时间:2021-08-11    来源:组件控件开发    手机版     字体:

【www.bbyears.com--组件控件开发】

举个例子,比如我写了一个可以实现条纹相间的列表组件,发布后,使用者可以自定义每一行的内容或样式(普通的slot就可以完成这个工作)。而作用域插槽的关键之处就在于,父组件能接收来自子组件的slot传递过来的参数,具体看案例和注释。


  
  
    
    Vue作用域插槽
    <scriptsrc="https://cdn.bootcss.com/vue/2.3.4/vue.js"></script>
  
  
    
      
        
        
          {{users[props.$index].id}}
          {{users[props.$index].name}}
          {{users[props.$index].age}}
          
          编辑
          删除
        
      
    
    <script>
      Vue.component("my-stripe-list", {
        /*slot的$index可以传递到父组件中*/
        template: `
          
            
              
            
          
        `,
        props: {
          items: Array,
          oddBgcolor: String,
          evenBgcolor: String
        }
      });
      new Vue({
        el: "#app2",
        data: {
          users: [
            {id: 1, name: "张三", age: 20},
            {id: 2, name: "李四", age: 22},
            {id: 3, name: "王五", age: 27},
            {id: 4, name: "张龙", age: 27},
            {id: 5, name: "赵虎", age: 27}
          ]
        }
      });
    </script>
  


效果如下:

本文来源:http://www.bbyears.com/asp/135241.html

猜你感兴趣