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

网站建设大神级公司黄页网络的推广网站有哪些类型

网站建设大神级公司,黄页网络的推广网站有哪些类型,便宜域名购买,英文外贸网站属性透传 传递给子组件时,没有被子组件消费的属性或事件,常见的如id、class 注意1 1.class、style是合并的,style中如果出现重复的样式,以透传属性为准2.id属性是以透传属性为准,其他情况透传属性名相同&#xff0c…

属性透传

  • 传递给子组件时,没有被子组件消费的属性或事件,常见的如id、class

注意1

  • 1.class、style是合并的,style中如果出现重复的样式,以透传属性为准
  • 2.id属性是以透传属性为准,其他情况透传属性名相同,取值以透传属性为准
APP.vue
<template><div><A style="color: red" id="first" class="app"></A></div>
</template>A组件
<template><div id="second" class="a" style="color:blue; border: 1px solid gray;"><h2>A</h2></div>
</template>最终html
<div id="first" class="a app" style="color: red; border: 1px solid gray;"><h2>A</h2></div>

注意1

注意2

  • 1.多个根节点的时候,可以为需要使用透传属性的根节点绑定v-bind=“$attrs”,来确定透传属性的归属
APP.vue
<template><div><A style="color: red" id="first" class="app"></A></div>
</template>A组件
<template><div ><h2>A1</h2></div><div v-bind="$attrs"><h2>A2</h2></div>
</template>最终html
<div><div><h2>A1</h2></div><div id="first" class="app" style="color: red;"><h2>A2</h2></div>
</div>

注意2

注意3

  • 1.多层透传,可以通过defineOptions({inheritAttrs:false})来实现
  • 2.透传属性使用:
    • 模板中可以直接使用$attrs.id 这种方式
    • 在js中如果在setup语法糖中,可以用useAttrs
    • js中非
<script setup>
import { useAttrs } from 'vue';
const aa = useAttrs()
console.log(aa) //aa是一个proxy对象,在子组件中不能修改
</script>

透传对象

APP.vue
<template><div><A style="color: red" id="first" class="app"></A></div>
</template>A组件
<template><div id="second"><h2>A</h2><B v-bind="$attrs"></B></div>
</template><script setup>
import B from "./B.vue"
import {defineOptions} from 'vue'
defineOptions({inheritAttrs:false
})
</script>B组件
<template><div><h5>B</h5><p>{{ $attrs.id }}</p></div>
</template>最终html
<div><div id="second"><h2>A</h2><div id="first" class="app" style="color: red;"><h5>B</h5><p>first</p></div></div>
</div>

注意3

注入

  • 为了解决参数逐层传递问题

注意

  • 1.上层组件作为提供方,下层组件使用,比如父组件是提供方,子组件使用;也可以提供全局属性
  • 2.provide 和 inject 方法需要在 setup 方法中同步调用
  • 3.修改provide属性的方式最好放在提供方,统一修改
  • 4.注入时,可以提供一个默认值,如果没有该属性的提供方,返回的为默认值
  • 5.provide的数据可以为任意类型,inject后不会改变数据类型
  • 6.可以通过Symbol 来避免注入名冲突

APP.vue

<template><div><A></A></div>
</template>
<script setup>
import {ref,provide} from 'vue'
import A from "./components/A.vue"
const first = ref("first")
const num = ref(1)
function updateFirst(val){first.value = val
}
provide("first",{first,updateFirst
})
provide("num",num)
</script>

A组件

<template><div><h2>A</h2><B></B></div>
</template><script setup>
import { provide, reactive } from "vue";
import B from "./B.vue"
const obj = reactive({name:"zhangsan"
})
provide("obj",obj)
</script>

B组件

<template><div style="border: 1px solid gray;"><h5>B</h5><p>first:{{ first}}</p><p><button @click="updateFirst('inject first')">change first</button></p><p>默认值:{{ defaultTest }}</p><hr/><p>num:{{ num }}--{{ typeof num }}</p><p>num+1: {{ num+1 }}</p></div>
</template>
<script setup>
import { inject } from 'vue';
const {first,updateFirst} = inject("first")
console.log("first:",first)
const defaultTest = inject('defaultTest',"test 默认值")
//ref 数值
const num = inject("num")
//reactive 
const obj = inject("obj")
console.log(obj)
</script>

效果图
console结果

http://www.hengruixuexiao.com/news/40846.html

相关文章:

  • 一般的域名可以做彩票网站吗常州seo排名收费
  • idea做百度网站阿里云万网域名注册
  • 秦皇岛房管局官网网上查询东莞seo靠谱
  • 做外贸的网站有那些aso关键词优化工具
  • 有哪些网站做的比较好看的广州seo网络优化公司
  • 大连手机自适应网站建设电话seo交流论坛seo顾问
  • 营销型网站建设解决方案2023第二波疫情已经到来
  • 网站违规关键词bt磁力种子搜索引擎
  • 深圳网站建设服务哪些便宜简述网络推广的方法
  • 阿里云服务器安装网站seo诊断工具有哪些
  • 做网站所需要的公司细责及条款市场调研报告万能模板
  • 广州市公司网站建设报价百度网站制作联系方式
  • 上传网站视频要怎么做才清楚小黄豆crm
  • 什么网站可以做国外批发网劳动局免费培训电工
  • 各种网站推广是怎么做的上海培训机构
  • 网站域名备案证书网上销售平台
  • 网站建设及运行情况介绍网址域名
  • node 做的网站后端seo排名赚app多久了
  • 网站运营适合什么样的人做百度开户渠道
  • 优化前网站现状分析如何推广软件
  • 长春火车站地下停车场收费标准免费网站服务器安全软件下载
  • 烟台网站快速优化排名网络营销推广的基本手段
  • 企业宣传网站多大主机百度小说排行榜前十
  • 成都网站建设公司湖南岚鸿怎么注册网址
  • 响应式网站无法做联盟广告seo诊断站长
  • ps做网站图片水印企业网站建设方案论文
  • 怎么制作手机网站平台百度推广登录平台网址
  • 婚庆网站策划书制作公司网站的步骤
  • 承德建设工程信息网站信息流广告投放平台
  • 青岛 生物类网站建设百度网络营销中心客服电话