vue.js中的slot
vue.js 中的 slot
一、slot 的作用
调用组件的时候,对于数据,我们会用props将数据从父组件传至子组件。但是,如果从父组件到子组件,单纯是页面局部渲染的改变,slot会更合适。
二、使用slot
1.在组件中使用slot预留位置(占位置)
使用slot在html文件中预留位置,并用name冠上姓名。
<template>
  <div class="hello">
    <header>
      <slot name="header"></slot>
    </header>
    <main>
      <p>姓名:<input type="text" v-model="student.name"></p>
      <p>年龄:<input type="text" v-model="student.age"></p>
    </main>
    <footer>
      <slot name="footer"></slot>
    </footer>
  </div>
</template>
<script>
export default {
  data () {
    return {
      student: {
        name: 'ya',
        age: 'guess'
      }
    }
  }
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
</style>
2.在父组件中用slot传送内容(放东西)
这里将打了slot标记的内容传送到子组件对应name的slot中。
格式 :<htmlTag slot="slotName">内容</htmlTag>
<template>
  <div class="hello">
    <child-page>
      <div slot="footer">页脚</div>
      <div slot="header">页头</div>
    </child-page>
  </div>
</template>
<script>
import ChildPage from './ChildPage'
export default {
  data () {
    return {
    }
  },
  components: {
    ChildPage
  },
  methods: {}
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
</style>
3.预览

三、其他
在子组件中定义了slot,但是在父组件中没有使用slot,那么子组件中slot将会默认为不显示。因为只是占有了位置,真正的内容并没有传到。
vue.js中的slot的更多相关文章
- vue.js中,input和textarea上的v-model指令到底做了什么?
		
v-model是 vue.js 中用于在表单表单元素上创建双向数据绑定,它的本质只是一个语法糖,在单向数据绑定的基础上,增加了监听用户输入事件并更新数据的功能: 对,它本质上只是一个语法糖,但到底是一 ...
 - 实例分析Vue.js中 computed和methods不同机制
		
在vue.js中,有methods和computed两种方式来动态当作方法来用的 1.首先最明显的不同 就是调用的时候,methods要加上() 2.我们可以使用 methods 来替代 comput ...
 - Vue.js中使用select选择下拉框
		
在Vue.js中使用select选择下拉框有两种方法: 第一种: Add.html: <select v-model="sysNotice.noticeType" id=&q ...
 - vue.js  中双向绑定的实现---初级
		
1. 1 我们看到的变量,其实都不是独立的,它们都是windows对象上的属性 <!DOCTYPE html> <html lang="en"> <h ...
 - 浅析Vue.js 中的条件渲染指令
		
1 应用于单个元素 Vue.js 中的条件渲染指令可以根据表达式的值,来决定在 DOM 中是渲染还是销毁元素或组件. html: <div id="app"> < ...
 - Vue.js中css的作用域
		
Vue.js中的css的作用域问题: 如果在vue组件下的style中定义样式,效果会作用于整个html页面,如果只想本组件的css样式只作用于本组件的话,在<style>标签里添加sco ...
 - vue.js 中 data, prop, computed, method,watch 介绍
		
vue.js 中 data, prop, computed, method,watch 介绍 data, prop, computed, method 的区别 类型 加载顺序 加载时间 写法 作用 备 ...
 - angular.js和vue.js中实现函数去抖(debounce)
		
问题描述 搜索输入框中,只当用户停止输入后,才进行后续的操作,比如发起Http请求等. 学过电子电路的同学应该知道按键防抖.原理是一样的:就是说当调用动作n毫秒后,才会执行该动作,若在这n毫秒内又调用 ...
 - vue.js 中使用(...)运算符报错的解决方法
		
vue.js 中使用(...)运算符报错的解决方法 Syntax Error:Unexpected token(XX:X) }, computed:{ ...mapGetters([ 'pageSiz ...
 
随机推荐
- mysql安装与使用
			
一.Mysql官方下载地址:https://www.mysql.com/downloads/ 二.下载 Community Server,这个版本是完全免费的 https://dev.mysql.c ...
 - Linux进程优先级和nice值
			
在学习了linux的完全公平调度算法(CFS)后,记录下学习轨迹 这篇文章主要讲述,完全公平调度算法的工作方式,和一些调度知识 我们可以通过ps -l看到当前正在运行的进程的详细信息其中 F:表示进程 ...
 - 从零开始的全栈工程师——MySQL数据库( Dos命令 ) ( phpstudy )
			
MySQL是一个关系型数据库,存在表的概念.结构,数据库可以存放多张表,每个表里可以存放多个字段,每个字段可以存放多个记录. phpstudy使用终端打开数据库的命令行 密码: root 数据库 查看 ...
 - Android开发之EditText利用键盘跳转到下一个输入框
			
以前做项目的时候,从来没考虑过这些.这段时间公司内部用的一款APP,就出现了这个问题,在登录或者注册的时候,点击键盘的回车按钮,可以跳到下一个输入框的功能,这个属性一直也没记住,今天就把自己一直没记过 ...
 - 洛谷P1941 飞扬的小鸟(背包 dp)
			
题意 题目链接 Sol 很显然的dp,设\(f[i][j]\)表示第\(i\)个位置,高度为\(j\)的最小步数 向上转移的时候是完全背包 向下转移判断一下就可以 #include<bits/s ...
 - show与ShowDialog   substring
			
substring public String substring(int beginIndex, int endIndex) 返回一个新字符串,它是此字符串的一个子字符串.该子字符串从指定的 beg ...
 - 任务四:CSS定位和居中问题
			
任务目标 实践HTML/CSS布局方式 深入了解position等CSS属性 任务描述 实现如 示例图(点击打开) 的效果 灰色元素水平垂直居中,有两个四分之一圆位于其左上角和右下角. 任务注意事项 ...
 - Angular js  ng-bind 和ng-module的区别
			
1.ng-bind 是从$scope ->view 的单向绑定 ,<span ng-bind="object.***"></span>只用于展示数据 ...
 - SQL Server ->> Transparent Data Encryption(透明化数据加密)
			
Comming later... 参考文献: Transparent Data Encryption (TDE)
 - Android(java)学习笔记33:注册广播接收者
			
1. 下面我们先看一部分代码,由代码进行进一步的深入: registerReceiver( new BroadcastReceiver() {//onReceive中代码的执行时间不要超过5s,and ...