当前位置: 首页 > news >正文

水果网站系统的建设与实现宁夏百度推广代理商

水果网站系统的建设与实现,宁夏百度推广代理商,湖南速马科技有限公司,做pc端网站包括哪些本次对el-input进行简单封装进行演示 封装很简单#xff0c;就给激活样式的边框(主要是功能) 本次封装主要使用到vue自带的几个对象 $attrs#xff1a;获取绑定在组件上的所有属性$listeners: 获取绑定在组件上的所有函数方法$slots#xff1a; 获取应用在组件内的所有插槽 … 本次对el-input进行简单封装进行演示 封装很简单就给激活样式的边框(主要是功能) 本次封装主要使用到vue自带的几个对象 $attrs获取绑定在组件上的所有属性$listeners: 获取绑定在组件上的所有函数方法$slots 获取应用在组件内的所有插槽 1、属性传递 element 的input组件有很多属性 想要实现在封装好后的组件上使用el-input组件的属性会直接传递到el-input组件上包括v-model。在组件中可以使用this.$attrs获取所有绑定在组件上的属性(不包括方法)这样我们就可以在封装的组件内使用v-bind$attrs直接把属性传递到内部组件上。在下列案例中由于v-model是:value 和 input两个组合的语法糖$attrs只能获取属性所以只能传递:value属性 1.1、父组件 templatediv classwrapper my-input v-modelval/my-input/div /templatescriptimport MyInput from /components/MyInputexport default {components: {MyInput,},data() {return {val: 111,}},methods: {inputChange(val){console.log(val);}}} /scriptstyle langscss scoped.wrapper {padding: 10vh;} /style1.2、子组件 templateel-input v-bind$attrs/el-input /template scriptexport default {created() {console.log(attrs,this.$attrs);}} /script style langscss scoped ::v-deep {.el-input__inner:focus {border-color: red; } }/style1.3、效果 这时候给输入框输入值是无效的因为目前只能把value属性绑定到el-input上并没有把input函数绑定上去所以不能修改父组件传过来的value的值。 2、方法传递 element的组件也有很多方法比如change等函数 想要实现在封装好后的组件上使用el-input组件的方法会直接传递到el-input组件上。在组件中可以使用this.$listeners获取所有绑定在组件上的属性(不包括属性)这样我们就可以在封装的组件内使用v-on$listeners直接把方法传递到内部组件上。在下列案例中由于v-model是:value 和 input两个组合的语法糖$listeners只能获取属性所以结合上面$attrsjiu可以完整的实现v-model的效果了 2.1、父组件 templatediv classwrapper my-input v-modelval changeinputChange/my-input/div /templatescriptimport MyInput from /components/MyInputexport default {components: {MyInput,},data() {return {val: 111,}},methods: {inputChange(val){console.log(inputChange, val);}}} /script2.2、子组件 templateel-input v-bind$attrs v-on$listeners/el-input /template scriptexport default {created() {console.log(attrs,this.$attrs);console.log(listeners,this.$listeners);}} /script style langscss scoped ::v-deep {.el-input__inner:focus {border-color: red;} }/style2.3、效果 这时候搭配$attrs就可以实现v-model的完整效果了以及change函数也会传递过去 3、插槽传递 element的组件也包括了很多的插槽 想要给封装好后的组件使用的插槽传递到el-input中在组件中可以使用this.$attrs获取所有绑定在组件上的插槽这样我们就可以在封装的组件内使用v-for(val, key) in $slots所有插槽遍历放到组件中当作组件的插槽注意插槽传参也要处理(我这里没处理) 3.1、父组件 templatediv classwrapper my-input v-modelval changeinputChangetemplate slotprependHttp:///templateel-button slotappend iconel-icon-search/el-button/my-input/div /templatescriptimport MyInput from /components/MyInputexport default {components: {MyInput,},data() {return {val: 111,}},methods: {inputChange(val){console.log(inputChange, val);}}} /scriptstyle langscss scoped.wrapper {padding: 10vh;} /style3.2、子组件 templateel-input v-bind$attrs v-on$listenerstemplate v-for(val, key) in $slotsslot :namekey/slot/template/el-input /template scriptexport default {created() {console.log(attrs,this.$attrs);console.log(listeners,this.$listeners);console.log(slots,this.$slots);}} /script style langscss scoped ::v-deep {.el-input__inner:focus {border-color: red;} }/style3.3、效果 4、ref伪传递(适用于vue3) 为什么说伪传递呢因为在vue中根本就拿不到外层组件的ref属性所以只能另换思路你要用ref无非就是想调用组件里面的函数。那我封装的组件里面可以把被封装的组件的函数直接提取出来当作我封装组件的函数即可实现适用于Vue3vue2会卡死 4.1、父组件 templatediv classwrapper my-input refmuInput v-modelval changeinputChangetemplate slotprependHttp:///templateel-button slotappend iconel-icon-search/el-button/my-input/div /templatescriptimport MyInput from /components/MyInputexport default {components: {MyInput,},data() {return {val: 111,}},mounted() {this.$refs.muInput.focus()},methods: {inputChange(val){console.log(inputChange, val);}}} /scriptstyle langscss scoped.wrapper {padding: 10vh;} /style4.2、子组件 templateel-input refinput v-bind$attrs v-on$listenerstemplate v-for(val, key) in $slots #[key]slot :namekey/slot/template/el-input /template scriptexport default {mounted() {console.log(attrs,this.$attrs);console.log(listeners,this.$listeners);console.log(slots,this.$slots);for (const [key, value] of Object.entries(this.$refs.input)) {this[key] value}}} /script style langscss scoped ::v-deep {.el-input__inner:focus {border-color: red;} }/style
http://www.hkea.cn/news/14440116/

相关文章:

  • 河北网站开发价格宜昌本地网站建设
  • 网钛cms做的网站做衣服的教程网站有哪些
  • 做网站标签栏的图片大小网站 开发 文档
  • 行业门户网站建设wordpress exploit
  • 青海学会网站建设公司网站建设 天台
  • 网站建设项目选题展馆设计方案ppt
  • 上海做公司网站网站做产品的审核
  • 房地产公司网站下载网站版本功能列表
  • 用flask做的网站视频推广网站
  • 手机网站开发需要哪些人才自己在家怎么做跨境电商
  • 怎样做才能让百度搜到网站产品网络设计有限公司
  • 高水平的番禺网站建设江门网页设计培训价格
  • 平台型网站制作wordpress账号无法创建
  • 广东网站建设模板网络工程技术课设报告
  • 网站建设图标浙江省建设网站徐叨法
  • 网站建设功能报数据分析师就业前景
  • 企业门户网站费用东营网红餐厅
  • 外贸五金网站58同城最新招聘信息
  • 做网站需要提供什么条件沂源放心企业网站建设方案报价
  • 关于建筑工程的网站工业和信息化部直属大学
  • html5建设的网站湛江网站设计公司地址
  • 做调查网站怎样换IP商务网站建设与维护 ppt
  • 尉氏做网站优秀 响应式网站
  • 中国最大的网站建设公司海外搜索推广外贸网站
  • 建设工程鲁班奖公示网站网络营销策划的基本原则
  • 海南做网站2023军文职人员招聘网官网
  • 网站长图怎么做阿里巴巴网站建设的态度虚心
  • 不同类型网站比较深圳珠宝网站建设
  • 网站建设必备语言外国知名个人网站
  • 汕头网站建设制作厂家网站分类代码