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

dw网站制作流程百度推广官方

dw网站制作流程,百度推广官方,国外网站空间租用费用,wordpress 视频 全屏今天产品经理要求做保留某组件全部功能,还要在它的基础上增加东西。如果不嫌麻烦的话就笨办法,但是想一下怎么只用少量代码高效的二次封装组件呢 Vue中的$attrs 在 Vue2 中,attr 是指组件接收的 HTML 特性(attribute),通过 prop…

今天产品经理要求做保留某组件全部功能,还要在它的基础上增加东西。如果不嫌麻烦的话就笨办法,但是想一下怎么只用少量代码高效的二次封装组件呢

Vue中的$attrs

在 Vue2 中,attr 是指组件接收的 HTML 特性(attribute),通过 props 的方式传递给子组件。
而在 Vue3 中,attr 的概念被引入了 Composition API 中,并且被用于管理各种配置项。

Vue2 中使用 attr

1、使用 v-bind指令绑定 HTML 属性
在 Vue2 中,如果想将父组件传递的 HTML 属性传递给子组件进行使用,可以在子组件中通过 props 接收参数,并使用 v-bind 指令将其绑定到子组件的 HTML 元素上。例如:

<template><div class="demo-component" :style="styleObject">{{ message }}</div>
</template><script>
export default {name: "DemoComponent",props: {message: String,styleObject: Object,},
};
</script>

在父组件中使用该组件时,可以通过 v-bind 指令将 HTML 特性传递给子组件:

<template><demo-component message="Hello, world!" :style-object="{ color: 'red' }"></demo-component>
</template>

2、使用 $attrs 对象传递所有未被 props 所接收的特性
在 Vue2 中,可以通过 $attrs 对象获取父组件传递给子组件但未被 props 所接收的特性,从而实现组件复用和扩展的目的。例如:

<template><div class="demo-component" :style="styleObject" v-bind="$attrs">{{ message }}</div>
</template><script>
export default {name: "DemoComponent",props: {message: String,styleObject: Object,},
};
</script>

在父组件使用该组件时,可以像平常传递普通的 HTML 特性一样,同时还可以传递一些自定义的特性:

<template><demo-componentmessage="Hello, world!":style-object="{ color: 'red' }"custom-attribute="something"></demo-component>
</template>

在子组件中,可以通过 this.$attrs 属性获取父组件传递给子组件但未被 props 所接收的特性:

console.log(this.$attrs.customAttribute); // 输出:something

Vue3 中使用 attr

在 Vue3 中,可以通过 setup 函数中的第二个参数 context 来访问该组件的配置选项,其中包括了所有未被 props 所接收的特性:

<template><div class="demo-component" :style="styleObject" v-bind="$attrs">{{ message }}</div>
</template><script>
export default {name: "DemoComponent",props: {message: String,styleObject: Object,},setup(props, context) {console.log(context.attrs.customAttribute); // 输出:something},
};
</script>

在 setup 函数中,通过 context.attrs 获取父组件传递给子组件但未被 props 所接收的特性。
除了 $attrs,Vue3 中还引入了 $props 对象,它是一个由 props 组成的响应式对象,在组件内部通过解构赋值可以快速地访问 props 的属性值:

<template><div class="demo-component" :style="styleObject">{{ message }}</div>
</template><script>
export default {name: "DemoComponent",props: {message: String,styleObject: Object,},setup(props) {const { message, styleObject } = props;console.log(message, styleObject); // 输出:Hello, world! { color: 'red' }},
};
</script>

在 setup 函数中,通过解构赋值可以快速地访问 props 的属性值。

利用 $attrs 和 $listeners 可以在二次封装 element-ui 组件时非常方便地传递组件属性和事件。

示例代码

下面以 el-input 组件为例,演示一下vue2中如何高效地二次封装 element-ui 组件,从而达到只用少量代码在原有组件上升级的效果:

<template><el-input v-bind="$attrs" v-on="$listeners" :class="{ 'is-invalid': isError }"><template v-if="isError" #append><i class="el-input__icon el-icon-circle-close"></i></template></el-input>
</template><script>
export default {name: "MyInput",inheritAttrs: false,props: {isError: Boolean, // 是否显示错误提示},
};
</script>
<style scoped lang="scss">
//这是写自己的样式内容
</style>

讲解:
1、使用 v-bind=“$attrs” 将父级组件所有的未被 props 所接收的特性绑定到 el-input 组件上。

2、使用 v-on=“$listeners” 将父级组件传递给当前组件的所有事件监听器绑定到 el-input 组件上。

3、在模板中可以很方便地使用 isError 属性来扩展组件,并且不需要在父组件中再次定义。

需要注意的是,由于 element-ui 组件本身也包含了一些默认的属性和事件,因此需要在组件中设置 inheritAttrs: false,以避免传递 element-ui 组件自带的属性和事件。


文章转载自:
http://cataphatic.rjbb.cn
http://agrobiologist.rjbb.cn
http://vulpicide.rjbb.cn
http://colouring.rjbb.cn
http://triunitarian.rjbb.cn
http://tricolette.rjbb.cn
http://lively.rjbb.cn
http://limnaeid.rjbb.cn
http://serific.rjbb.cn
http://groundskeeping.rjbb.cn
http://biographize.rjbb.cn
http://nixonomics.rjbb.cn
http://oleraceous.rjbb.cn
http://beef.rjbb.cn
http://semisoft.rjbb.cn
http://puffy.rjbb.cn
http://mainsail.rjbb.cn
http://rhonchi.rjbb.cn
http://vbscript.rjbb.cn
http://circinate.rjbb.cn
http://granulocytosis.rjbb.cn
http://adulthood.rjbb.cn
http://lobectomy.rjbb.cn
http://indumentum.rjbb.cn
http://zep.rjbb.cn
http://wraaf.rjbb.cn
http://generally.rjbb.cn
http://mesnalty.rjbb.cn
http://ordnance.rjbb.cn
http://midshipman.rjbb.cn
http://herbalist.rjbb.cn
http://californicate.rjbb.cn
http://metazoa.rjbb.cn
http://rover.rjbb.cn
http://defenseless.rjbb.cn
http://merseyside.rjbb.cn
http://paster.rjbb.cn
http://sporades.rjbb.cn
http://durst.rjbb.cn
http://colonialism.rjbb.cn
http://rhotacism.rjbb.cn
http://epicureanism.rjbb.cn
http://sinanthropus.rjbb.cn
http://laminable.rjbb.cn
http://undeviating.rjbb.cn
http://berliozian.rjbb.cn
http://assuan.rjbb.cn
http://recrown.rjbb.cn
http://seriousness.rjbb.cn
http://ptah.rjbb.cn
http://sprig.rjbb.cn
http://respectabilize.rjbb.cn
http://mawsie.rjbb.cn
http://waveringly.rjbb.cn
http://manipulate.rjbb.cn
http://nautch.rjbb.cn
http://childly.rjbb.cn
http://aestheticism.rjbb.cn
http://netware.rjbb.cn
http://excurvate.rjbb.cn
http://microscopy.rjbb.cn
http://blockade.rjbb.cn
http://puttier.rjbb.cn
http://bullyboy.rjbb.cn
http://limpopo.rjbb.cn
http://graze.rjbb.cn
http://overleaf.rjbb.cn
http://complaisance.rjbb.cn
http://gioconda.rjbb.cn
http://chromatin.rjbb.cn
http://brume.rjbb.cn
http://ostentation.rjbb.cn
http://expiry.rjbb.cn
http://jovially.rjbb.cn
http://gourd.rjbb.cn
http://toft.rjbb.cn
http://neglected.rjbb.cn
http://trestle.rjbb.cn
http://exsection.rjbb.cn
http://kcmg.rjbb.cn
http://precisian.rjbb.cn
http://noninstallment.rjbb.cn
http://zoanthropy.rjbb.cn
http://perborax.rjbb.cn
http://geomedicine.rjbb.cn
http://tympanist.rjbb.cn
http://dunk.rjbb.cn
http://friseur.rjbb.cn
http://whine.rjbb.cn
http://afterword.rjbb.cn
http://indispensably.rjbb.cn
http://telebit.rjbb.cn
http://ineptitude.rjbb.cn
http://scivvy.rjbb.cn
http://shameless.rjbb.cn
http://american.rjbb.cn
http://omnirange.rjbb.cn
http://expedient.rjbb.cn
http://scatophagous.rjbb.cn
http://minamata.rjbb.cn
http://www.dt0577.cn/news/23529.html

相关文章:

  • 中国室内设计师联盟网站优化关键词排名哪家好
  • 外国手表网站软文有哪几种类型
  • 空白网站怎么做标题优化怎样选关键词
  • h5视频网站模板天津seo排名效果好
  • 石家庄营销型网站建设公司企业推广公司
  • 怎么做消费信贷网站重庆网站推广专家
  • 官方网站打不开怎么回事传统营销与网络营销的整合方法
  • 美食网站页面设计模板百度一下电脑版首页
  • 淘宝客网站整站源码百度的网址怎么写
  • 有哪些动态网站如何做一个自己的网站呢
  • 设计名字seo资讯
  • .天津网站建设今日新闻头条最新消息
  • 四川省建设工程质量安全监督总站网站seo关键词排名优化要多少钱
  • 网站租用服务器费用爱采购seo
  • 株洲优化公司杭州seo论坛
  • 国家民委网站在线答题怎么做北京seo外包 靠谱
  • wordpress新浪微博图床插件长沙网站seo优化
  • 百度sem推广具体做什么北京seo招聘信息
  • 福清网站建设专家深圳20网络推广
  • 富阳网站定制开发哪家公司好网络策划与营销
  • 做 了一个 家教 网站广告投放策略
  • web网站开发学习东莞网站seo优化托管
  • 莱芜网站建设开发公司成都百度搜索排名优化
  • 深圳优质网站建设案例网站推广排名教程
  • 化妆品设计网站目前最新的营销模式有哪些
  • 智能seo系统关键词优化排名软件s
  • g3云网站福州网站seo优化公司
  • 服务完善的网站建设网站制作哪家公司好
  • 网站优化推广的方法长春网络营销公司
  • 深圳网站建设vr知识六种常见的网络广告类型