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

现在建个企业网站要多少钱做网站的框架组合

现在建个企业网站要多少钱,做网站的框架组合,网站备案后 如何建设,人工智能在未来可以27. 依赖注入 通常情况下,当我们需要从父组件向子组件传递数据时,会使用 props。想象一下这样的结构:有一些多层级嵌套的组件,形成了一颗巨大的组件树,而某个深层的子组件需要一个较远的祖先组件中的部分数据。在这种…

27. 依赖注入

通常情况下,当我们需要从父组件向子组件传递数据时,会使用 props。想象一下这样的结构:有一些多层级嵌套的组件,形成了一颗巨大的组件树,而某个深层的子组件需要一个较远的祖先组件中的部分数据。在这种情况下,如果仅使用 props则必须将其沿着组件链逐级传递下去,这会非常麻烦

在这里插入图片描述

这一问题被称为“prop 逐级透传”
provideinject 可以帮助我们解决这一问题。一个父组件相对于其所有的后代组件,会作为依赖提供者。任何后代的组件树,无论层级有多深,都可以注入由父组件提供给整条链路的依赖

在这里插入图片描述

App.vue(祖宗组件)

<script>
import Parent from './components/Parent.vue'
export default {components: {Parent},/*** 提供组件间共享的数据或功能** 在Vue中,provide选项允许我们向子组件树提供数据或功能,而不需要通过props逐层传递* 这里提供的`message`属性,值为'祖宗的财产',可以被任意子组件注入和使用** @providedProperties*   - {String} message 提供给子组件的字符串常量*/provide: {message: '祖宗的财产'}}
</script>
<template><h3>祖宗</h3><Parent/>
</template>

Parent.vue(父组件)

<script>
import Child from "@/components/Child.vue";
export default {components: {Child},
}
</script><template><h3>父组件</h3><Child />
</template>

Child.vue(子组件)

<script>
export default {// 注入外部提供的 message 属性或方法
// 这使得组件可以访问在其祖先组件中提供的 message,而无需通过每一层组件进行传递inject: ["message"]
}
</script><template><h3>子组件</h3><p>{{ message }}</p>
</template>

在这里插入图片描述


扩展:

也可以从data中读取数据:

App.vue

<script>
import Parent from './components/Parent.vue'export default {components: {Parent},data() {return {message: '祖宗的财产!!!'}},/*** @returns {Object} 返回一个对象,其中包含要提供的数据属性*/provide() {return {// 提供的 message 属性,其值为当前组件的 message 属性值message: this.message}}}
</script>
<template><h3>祖宗</h3><Parent/>
</template>

注入会在组件自身的状态之前被解析,因此你也可以在data()中访问到注入的属性:

Child.vue

<script>
export default {inject: ["message"],/*** 组件的初始数据函数** 该函数用于定义和初始化组件的数据属性在这里,我们创建了一个名为 `fullMessage` 的数据属性,* 它的初始值来源于组件的 `message` 属性这样做是为了在组件内部维护一个独立于原始 `message` 属性的副本,* 以便在不改变原始数据的情况下进行操作或展示*/data() {return {fullMessage: this.message}}
}
</script><template><h3>子组件</h3><p>{{ message }}</p><p>{{ fullMessage }}</p>
</template>

除了在一个组件中提供依赖,我们还可以在整个应用层面提供依赖:

main.js

import {createApp} from 'vue'
import App from './App.vue'const app = createApp(App)
// 提供一个全局数据项,键名为 'golabDate',值为 '我是全局数据'
app.provide('golabDate', '我是全局数据')
app.mount('#app')

温馨提示
provideinject只能由上到下的传递,不能反向传递

http://www.dtcms.com/wzjs/788858.html

相关文章:

  • html做分模块的网站关键词优化如何
  • 西安建设网站的公司简介莆田做鞋有没有网站看
  • 浅谈中兴电子商务网站建设app外包推广
  • w3c网站开发上海城隍庙几点关门
  • 平面设计师兼职网站温州网站优化价格
  • 用iis为公司做一个内部网站桂林市网站建设公司
  • 南昌网优化网站设计公司德尔普网站建设
  • 互联网公司响应式网站wordpress建的网站打开太慢
  • 网站开发工程师岗位职责说明书金华网站建设方案开发
  • 网站建设的一般流程是设计师网上接单之后不给钱可以报警吗
  • 深圳网站建设联系电话电子商务网站建设是学什么
  • 抚养网站建设口碑好的句容网站建设
  • 快盘做网站服务器网页设计与制作教程 刘瑞新
  • 广州网站制作(信科网络)wordpress主题用什么设计
  • 网站设计与管理论文网站建设毕业实习报告
  • 美橙互联网站建设好不好wordpress 不能提交评论
  • 蒙文网站建设情况汇报材料网络游戏名
  • 网站开发与客户沟通网站设计计划书模板
  • 马鞍山网站建设制作做网站是干什么用的
  • 亚马逊全球购官网贵阳网站优化公司
  • 网站模块怎么恢复学习网站建设总结
  • 建设网站关键词怎么写百度广告联盟怎么加入
  • 视频网站上市公司有哪些做网站的方案图片
  • 遵义北京网站建设在线编辑ppt的网站
  • 网站开发绩效考核与薪酬品牌形象网站源码
  • 大连外贸建站办个网站卖什么好处
  • 推荐黄石网站建设新闻稿发布平台
  • 网站制作及排名优化公众号开发者平台
  • cad做兼职区哪个网站免费网站自动跳转
  • 安庆集团网站建设wordpress 页眉