关于vue中slot的使用

news/2024/7/10 2:43:00 标签: vue, slot, 占位

      刚开始看了官方的demo,利用注册component在父页面中的子组件标签中插入内容,达到灵活定制的目的。然而,确实不好理解,所以,就vue常用的组件与页面分开写的方式,我写了一个demo举例说明slot的作用。

      本人刚接触vue不就,感觉slot类似与一个内容占位符,在子页面中利用slot进行占位,在父页面调用时,使用不同的内容去填充这个占位符,从而达到一个组件,多个页面复用的目的。

     我们来看例子:

      1.首先是子组件 tempComp.vue

      

< template >
< div >
< p > child self </ p >
< slot name = "first" ></ slot >
</ div >
</ template >
< script >
export default {
}
</ script >
< style scoped>
</ style >

     2.再就是调用页面LocSlot.vue

< template >
< div >
< p > parent content </ p >
< tem-comp >
< div slot = "first" >
< ul >
< li > 1 </ li >
< li > 2 </ li >
< li > 3 </ li >
</ ul >
</ div >
</ tem-comp >
</ div >
</ template >
< script >
import temComp from './temComp.vue'
export default {
components: {
temComp
}
}
</ script >
< style scoped>
</ style >

好的,现在我们来说明一下,首先在tempComp中,<slot name="first"></slot>进行占位处理,这个地方允许,父页面中,<tempComp>标签间,名为slot="first"的内容进行显示。再来看我们的父页面,也就是调用页面,在标签中插入内容区域div,并给他命名为slot="first "去填充子组件的占位

需要知道的是,默认情况下,父页面中的,子组件间加入的内容时不会显示的,除非有占位符这个东东。

当然,上面例子举出的是具有实际名字的slot占位,其实还有一种默认的占位slot,即不给子组件中的占位slot进行命名即可。那么父页面中,默认会将子组件中的第一个插入内容放置在默认占位符的位子,但是,如果插入数量超过默认占位符数量,则剩余的部分就不显示了。


http://www.niftyadmin.cn/n/1162589.html

相关文章

封装android原生Cordova插件

webApp对于原生功能的调用可以采用第三方的框架&#xff0c;例如phonegap或者cordova等&#xff0c;phonegap和cordova的操作模式类似&#xff0c;此处仅针对cordova进行讲解。 主要分为两步&#xff1a;1.创建cordova项目 2.封装cordova插件 cordova教程&#xff1a;htt…

cordova 插件 修改版

1.创建项目 cordova create LocalCordova com.hjk.cordova CordovaApp 2.创建插件 plugman create --name HjkPlugin --plugin_id HjkPlugin --plugin_version 1.0.0 3.HjkPlugin目录结构 src--android ---HjkPlugin.java java代码 www-HjkPlugin.js js调用配置 plug…

vue moke 数据的使用

开发过程中&#xff0c;一般前台的代码调试是需要后台的接口与数据支持的&#xff0c;在数据流的支持下&#xff0c;才能有效的完成对整个代码的调测。moke数据的产生就是让前端脱离后台&#xff0c;完成代码的调测。 在vue项目中&#xff0c;与static目录同级创建moke目录&am…

cordova跳转原生Android页面

1.创建cordova项目&#xff0c;添加平台android cordova create LocalCordova com.hjk.cordova CordovaApp 2.使用plugman创建自定义插件 plugman create --name HjkPlugin --plugin_id HjkPlugin --plugin_version 1.0.0 调用java代码如下&#xff1a; package org.apach…

Cordova环境下的依赖项目唯一性

cordova运行环境在编译其他平台项目时(如&#xff1a;android&#xff0c;ios等)&#xff0c;会确定依赖项目的唯一性。举例说明&#xff1a;cordova run android 或者 cordova run ios 会在cordova运行环境下&#xff0c;开始编译平台项目。好处是&#xff0c;如果存在多平台…

给iframe添加点击事件

方案一&#xff1a;无本地源码iframe 存在跨域问题&#xff0c;所以需要用到document.activeElement 1.0处理方法&#xff1a; export const IframeOnClick {resolution: 200,iframes: [],interval: null,Iframe: function () {this.element arguments[0]this.cb argumen…

vue-cropper 截图插件的使用

安装插件&#xff1a; npm install vue-cropper --save-dev 引用&#xff1a; import vueCropper from vue-cropper 声明&#xff1a; components: {vueCropper } <vueCropperref"cropper":img"option.img" // 裁剪图片的地址 可选值&#xff1a;u…

Maven的安装配置与第一个hello-world

1.安装配置 Maven的安装与配置maven定义&#xff1a;Maven实一个给予java平台的自动化构建工具make > ant > maven >gradle(gradle学习成本较高&#xff0c;普及不如maven)Maven是一个跨平台的项目管理工具。主要用户java平台项目的构建与依赖管理。maven作用&#x…