Vue.js中组件中的slot实例详解


Posted in Javascript onJuly 17, 2017

Vue组件中的slot

slot 可以实现在已经定义的组件中添加内容,组件会接收内容并输出,假如有一个组件person,它的里面包含的是个人信息,如下面这样

<template id="per">
    <div>
      <p>姓名:...</p>
      <p>年龄:...</p>
      <p>职业:...</p>
    </div>
  </template>

在应用的时候,当然希望这里面可以是灵活变化的,所以这就需要用到slot了

首先要做的事情就是创建这样一个组件,这里我采用的是<template>的形式,如下面这样

<template id="per">
    <div>
      <p>姓名:</p>
      <p>年龄:</p>
      <p>职业:</p>
    </div>
  </template>

可以看到我这里给template添加了id,这个是为了后面的操作

下面使用Vue的构造器,创建Vue实例,然后添加局部的组件,如下面这样

var person = {
     template : "#per"  //利用id
    };
    new Vue({
      el: "#app",
      data: {
        componentData: {
          name : "vam",
          age : 18,
          job : "student"
        }
      },
      components : {
        "person" : person
      }
    });

接下来就是要在<person> 组件使用的时候添加点东西,就是具体内容,下面这样:

<div id="app">
    <person>
      <span slot="name">{{componentData.name}}</span>
      <span slot="age">{{componentData.age}}</span>
      <span slot="job">{{componentData.job}}</span>
    </person>
  </div>

当然这样还是不够的,总得在模板中有点什么吧,如下,这里就该用到slot了  

<template id="per">
    <div>
      <p>姓名:<slot name="name"></slot></p>
      <p>年龄:<slot name="age"></slot></p>
      <p>职业:<slot name="job"></slot></p>
    </div>
  </template>

之后就可以看到想要的结果了

以上就是Vue.js中组件中的slot实例的讲解,大家如果有疑问请留言讨论,共同进步,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
js页面跳转常用的几种方式
Nov 25 Javascript
jQuery语法总结和注意事项小结
Nov 11 Javascript
深入Javascript函数、递归与闭包(执行环境、变量对象与作用域链)使用详解
May 08 Javascript
js判断输入是否为数字的具体实例
Aug 03 Javascript
jquery实现清新实用的网页菜单效果
Aug 28 Javascript
基于BootStrap Metronic开发框架经验小结【三】下拉列表Select2插件的使用
May 12 Javascript
Avalon中文长字符截取、关键字符隐藏、自定义过滤器
May 18 Javascript
移动端H5开发 Turn.js实现很棒的翻书效果
Jun 20 Javascript
Javascript中this绑定的3种方法与比较
Oct 13 Javascript
vue2项目使用sass的示例代码
Jun 28 Javascript
vue 清空input标签 中file的值操作
Jul 21 Javascript
OpenLayers3实现鼠标移动显示坐标
Sep 25 Javascript
Vue.js上下滚动加载组件的实例代码
Jul 17 #Javascript
JS实现仿UC浏览器前进后退效果的实例代码
Jul 17 #Javascript
详解利用jsx写vue组件的方法示例
Jul 17 #Javascript
Javascript实现找不同色块的游戏
Jul 17 #Javascript
Vue.js 单页面多路由区域操作的实例详解
Jul 17 #Javascript
Vue项目webpack打包部署到服务器的实例详解
Jul 17 #Javascript
JS中Safari浏览器中的Date
Jul 17 #Javascript
You might like
用PHP实现的四则运算表达式计算实现代码
2011/08/02 PHP
PHP Opcache安装和配置方法介绍
2015/05/28 PHP
javascript学习笔记(三)显示当时时间的代码
2011/04/08 Javascript
JavaScript中实现Map的示例代码
2015/09/09 Javascript
js判断日期时间有效性的方法
2015/10/24 Javascript
详解AngularJS中module模块的导入导出
2015/12/10 Javascript
javascript自动切换焦点控制效果完整实例
2016/02/02 Javascript
JQuery.validate在ie8下不支持的快速解决方法
2016/05/18 Javascript
AngularJs的UI组件ui-Bootstrap之Tooltip和Popover
2018/07/13 Javascript
通过函数作用域和块级作用域看javascript的作用域链
2018/08/05 Javascript
Vue中保存数据到磁盘文件的方法
2018/09/06 Javascript
vue移动端下拉刷新和上拉加载的实现代码
2018/09/08 Javascript
js定义类的方法示例【ES5与ES6】
2019/07/30 Javascript
详解ES6 Promise的生命周期和创建
2019/08/18 Javascript
小程序最新获取用户昵称和头像的方法总结
2019/09/23 Javascript
解决vue elementUI中table里数字、字母、中文混合排序问题
2020/01/07 Javascript
JS实现滑动导航效果
2020/01/14 Javascript
Electron整合React使用搭建开发环境的步骤详解
2020/06/07 Javascript
[02:07]2017国际邀请赛中国区预选赛直邀战队前瞻
2017/06/23 DOTA
[00:16]热血竞技场
2019/03/06 DOTA
浅谈django中的认证与登录
2016/10/31 Python
Python使用crontab模块设置和清除定时任务操作详解
2019/04/09 Python
Python中常用的8种字符串操作方法
2019/05/06 Python
Python3视频转字符动画的实例代码
2019/08/29 Python
python文件操作的简单方法总结
2019/11/07 Python
pycharm2020.1.2永久破解激活教程,实测有效
2020/10/29 Python
BONIA波尼亚新加坡官网:皮革手袋,鞋类和配件
2016/08/25 全球购物
兰蔻美国官网:Lancome美国
2017/04/25 全球购物
Feelunique德国官方网站:欧洲最大的在线美容零售商
2019/07/20 全球购物
What is view? why do we have view?
2012/06/22 面试题
军训自我鉴定
2013/12/14 职场文书
华清池导游词
2015/02/02 职场文书
政协委员个人总结
2015/03/03 职场文书
java设计模式--原型模式详解
2021/07/21 Java/Android
分享五个Node.js开发的优秀实践 
2022/04/07 NodeJs
大脑的记忆过程在做数据压缩,不同图形也有共同的记忆格式
2022/04/29 数码科技