• vue 内置组件__slot讲解


    slot 是vue的内置组件,主要分为传值和接收值两部分;

    首先写一个自定义组件:例如 <js></js>

    再写一个template模板

    并在构造器中使用components:{} 挂载,

    在构造器的data中写一个选项方法:

    data: {
      jsData: {
        url: 'http://www.baidu.com',
        netName: '百度',
        skill: 'seach'
      }
    },
    主要是传值与接收值部分;
    在自定义组件中传值,通过(key,value)的方式
    <js>
      <span slot="url">{{ jsData.url }}</span>
      <span slot="netName">{{ jsData.netName }}</span>
      <span slot="skill">{{ jsData.skill }}</span>
    </js>
    然后在template模板中接收传入的值:
    <template id="tep">
      <div>
        <p>百度地址:<slot name="url"></slot></p>
        <p>名称:<slot name="netName"></slot></p>
        <p>作用:<slot name="skill"></slot></p>
       </div>
    </template>
    将其挂载到 js 组件中
    var js = {
      template: '#tep'
    }
    完整代码示例如下:
     
    <!DOCTYPE html>
    <html lang="en">

    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>slot</title>
    <script src="../assets/js/vue.js"></script>
    </head>

    <body>
    <h1>slot</h1>
    <hr>
    <div id="app">
    <js>
    <span slot="url">{{ jsData.url }}</span>
    <span slot="netName">{{ jsData.netName }}</span>
    <span slot="skill">{{ jsData.skill }}</span>
    </js>
    </div>

    <template id="tep">
    <div>
    <p>百度地址:<slot name="url"></slot></p>
    <p>名称:<slot name="netName"></slot></p>
    <p>作用:<slot name="skill"></slot></p>
    </div>
    </template>

    <script>

    var js = {
    template: '#tep'
    }

    var app = new Vue({
    el: '#app',
    data: {
    jsData: {
    url: 'http://www.baidu.com',
    netName: '百度',
    skill: 'seach'
    }
    },
    components: {
    'js': js
    }
    })
    </script>
    </body>

    </html>

  • 相关阅读:
    Helpers Overview
    Validation
    Support Facades
    Session Store
    位运算(参考百科)
    开源项目_可能使用到的开源项目集合
    秒杀系统架构分析与实战(转)
    shell命令之根据字符串查询文件对应行记录
    MySQL做为手动开启事务用法
    spring 加载bean过程源码简易解剖(转载)
  • 原文地址:https://www.cnblogs.com/sunyang-001/p/11106152.html
Copyright © 2020-2023  润新知