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

网站建设 定制蚁百杭州网站seo优化

网站建设 定制,蚁百杭州网站seo优化,建设网站的目标和作用,私服广告网站谁做的封装组件使用v-model 使用方法props接受value值,当值发生变化的时候再通过this.$emit("input", newValue),则实现了简单组件的v-model封装,如果不使用第三方UI可以接受到的值使用watch或者计算属性保存,然后再通过事件派发自己保存…

封装组件使用v-model 

使用方法props接受value值,当值发生变化的时候再通过this.$emit("input", newValue),则实现了简单组件的v-model封装,如果不使用第三方UI可以接受到的值使用watch或者计算属性保存,然后再通过事件派发自己保存的值

$attrs可以透传组件上的属性,如果使用 props接收了某个属性,则从$attrs移除这个属性

代码:如elInput组件

 保存值写法可使用计算属性也可以使用监听器

<template><div class="switchWrap"><el-inputref="refInput"v-bind="$attrs":value="internalValue"@input="updateValue"></el-input></div>
</template><script>
export default {props: {value: [Boolean, String, Number],},data() {return {};},computed: {internalValue() {return this.value;},},methods: {updateValue(newValue) {this.$emit("input", newValue); // 触发内部 input 事件 让父组件可以v-model绑定},},mounted() {},
};</script>

 不保存值可直接派发值

<template><div class="switchWrap"><el-inputref="refInput"v-bind="$attrs":value="value"@input="updateValue"></el-input></div>
</template><script>
export default {props: {value: [Boolean, String, Number],},data() {return {};},computed: {},methods: {updateValue(newValue) {this.$emit("input", newValue); // 触发内部 input 事件 让父组件可以v-model绑定},},mounted() {},
};</script>

 使用方法

 <elInput v-model="value"></elInput >

 UI组件封装方法

 $attrs和$slots可以透传属性和插槽 然后通过解构插槽——>#[插槽名]=value 就可以获取传递的值,再通过遍历组件原型上的方法,然后把原型上的方法放在组件上,就可以使用ref透传

使用计算属性 slotsKeys 和 scopedSlotsKeys

 是为了动态获取父组件传递的具名插槽($slots)和作用域插槽($scopedSlots),

  并根据需要排除掉某些已使用的插槽,以便在渲染时可以有选择地展示插槽内容。

<template><div class="switchWrap"><el-inputref="refInput"v-bind="$attrs":value="value"@input="updateValue"><template v-for="slotName in scopedSlots" #[slotName]="scoped"><slot :name="slotName" v-bind="scoped"></slot></template><template v-for="slotName of namedSlot" v-slot:[slotName]><slot :name="slotName"></slot></template></el-input></div>
</template><script>
export default {props: {value: [Boolean, String, Number],},data() {return {usedSlots: [], // 已使用的插槽};},computed: {// 使用计算属性 namedSlot 和 scopedSlots//  是为了动态获取父组件传递的具名插槽($slots)和作用域插槽($scopedSlots),//  并根据需要排除掉某些已使用的插槽,以便在渲染时可以有选择地展示插槽内容。namedSlot() {return Object.keys(this.$slots).filter((key) => !this.usedSlots?.includes(key));},scopedSlots() {return Object.keys(this.$scopedSlots).filter((key) => !this.usedSlots?.includes(key));},},methods: {updateValue(newValue) {this.$emit("input", newValue); // 触发内部 input 事件 让父组件可以v-model绑定},},mounted() {for (let key in this.$refs.refInput) {if (typeof this.$refs.refInput[key] == "function") {this[key] = this.$refs.refInput[key];}}},
};
</script>

 使用方法

       <inputUi v-model="inputValue" @input="getInfo" ref="refInput"><template #prepend>Http://</template></inputUi>

http://www.mmbaike.com/news/87155.html

相关文章:

  • 一个网站seo做哪些工作内容友情链接交换方式有哪些
  • 北京网站建设公司收购网络黄页推广软件哪个好用
  • 廊坊网页模板建站关键词挖掘长尾词
  • 建设网站都需要注意什么seo交互论坛
  • 建设工程类的网站网店培训机构
  • 网站有备案号吗企业营销平台
  • 阳江人才招聘网官网东莞网站制作十年乐云seo
  • Wordpress 学校网站扬中网站制作
  • 好网站推理大连seo按天付费
  • 做ppt的软件怎么下载网站搜索引擎营销
  • 做推文封面图网站百度关键词优化软件
  • 有什么网站可以做外贸出口信息外贸平台有哪些
  • 专业电商网站建设哪家好天天自学网网址
  • 安庆网站建设搜索引擎营销的案例有哪些
  • 网站建站行业企业内训机构
  • 公司简介网页seo自然优化排名
  • 企业网站报价方案模板下载谷歌搜索引擎为什么打不开
  • 阳春网站制作网站用户体验优化
  • 北京网站主题制作大型门户网站建设
  • 烟台网站改版东莞疫情最新消息今天中高风险区
  • 网站设计公司那个好seo管理与优化期末试题
  • 建行移动门户网站首页买友情链接有用吗
  • 广州有什么好玩的地方是免费的百度seo优
  • 做网站编码小红书新媒体营销案例分析
  • 网站建设系统认证系统企业营销策划书模板
  • 只做硬件网站发布友情链接
  • 合肥做网站公司厦门百度代理
  • 合肥网站定制地推app
  • 具有口碑的柳州网站建设哪家便宜太原seo推广
  • 网名设计在线生成器山西seo优化公司