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

成都网站模板购买吉林响应式网站建设

成都网站模板购买,吉林响应式网站建设,wordpress没有写权限,保定门户网站Vue 3 中的 Provide 和 Inject 机制是专为跨层级传递数据而设计的#xff0c;适用于祖先组件和后代组件之间的通信。与props 和 emits 不同#xff0c;Provide/Inject 可以跨越多个层级进行数据传递#xff0c;而不需要逐层传递。 1. Provide provide 是一个在祖先组件中提… Vue 3 中的 Provide 和 Inject 机制是专为跨层级传递数据而设计的适用于祖先组件和后代组件之间的通信。与props 和 emits 不同Provide/Inject 可以跨越多个层级进行数据传递而不需要逐层传递。 1. Provide provide 是一个在祖先组件中提供数据的方法它将数据传递给该组件的所有后代组件不需要直接的父子关系。provide 通常在组件的 setup 函数中使用。 2. Inject inject 是在后代组件中获取祖先组件提供的数据的方法。inject 也是在 setup 函数中使用后代组件通过 inject 来访问祖先组件的 provide 数据。 基本使用 步骤 1在祖先组件中使用 provide 提供数据 祖先组件通过 provide 将数据提供给后代组件。 // Parent.vue templateChild / /templatescript import { provide } from vue; import Child from ./Child.vue;export default {components: { Child },setup() {// 提供数据const message Hello from Parent!;provide(message, message); // message 是标识符message 是提供的值} }; /script在上面的例子中Parent 组件通过 provide 提供了一个名为 message 的数据值是字符串 Hello from Parent!。任何后代组件都可以通过 inject 来访问这个数据。 步骤 2在后代组件中使用 inject 获取数据 后代组件通过 inject 来访问祖先组件提供的数据。 // Child.vue templatediv{{ message }}/div /templatescript import { inject } from vue;export default {setup() {const message inject(message); // 使用 inject 获取数据return { message };} }; /script在上面的代码中Child 组件通过 inject 获取祖先组件 Parent 提供的 message 数据并将其渲染在模板中。 如何通过后代组件修改上级组件的值 在 Vue 中provide 传递的数据是响应式的但它只提供了只读数据。若要让后代组件修改上级组件的数据可以通过 provide 传递一个可变的对象或函数来实现。这也可以用来在后代组件中修改祖先组件的状态。 1. 传递响应式数据 你可以通过 reactive 或 ref 将响应式数据传递给后代组件这样后代组件就可以通过修改响应式数据来更改祖先组件的状态。 // Parent.vue templateChild /div{{ message.text }}/div !-- 显示修改后的数据 -- /templatescript import { reactive, provide } from vue; import Child from ./Child.vue;export default {components: { Child },setup() {// 提供响应式对象const message reactive({ text: Hello from Parent! });provide(message, message); // 提供响应式对象return { message };} }; /script在 Parent 组件中使用 reactive 创建了一个响应式对象 message并通过 provide 提供给后代组件。接下来后代组件就可以修改这个对象的内容。 2. 在后代组件中修改响应式数据 后代组件可以直接修改由 provide 提供的响应式对象的数据, 因为这违背了组件通信中单向数据流的规范所以不推荐直接在后代组件中直接修改来自上级数据的值。 // Child.vue templatebutton clickchangeMessageChange Message/button /templatescript import { inject } from vue;export default {setup() {const message inject(message); // 获取祖先组件提供的响应式对象// 修改 message 对象中的值const changeMessage () {message.text Updated message from Child!;};return { message, changeMessage };} }; /script在 Child 组件中通过 inject 获取祖先组件提供的响应式对象 message并提供一个方法 changeMessage 来修改 message.text。由于 message 是响应式的修改后会自动更新祖先组件中的视图。 通过函数传递数据 除了传递响应式对象外另一个常见的方法是传递修改数据的函数。这样可以控制后代组件如何修改上级组件的值。 1. 祖先组件传递函数 // Parent.vue templateChild /div{{ message }}/div !-- 显示修改后的数据 -- /templatescript import { ref, provide } from vue; import Child from ./Child.vue;export default {components: { Child },setup() {const message ref(Hello from Parent!);// 提供修改数据的函数const changeMessage (newMessage) {message.value newMessage;};provide(changeMessage, changeMessage); // 提供修改函数return { message };} }; /script在 Parent 组件中我们通过 provide 提供了一个函数 changeMessage它接收一个新的消息并修改 message 的值。 2. 后代组件调用函数修改数据 // Child.vue templatebutton clickchangeParentMessageChange Parent Message/button /templatescript import { inject } from vue;export default {setup() {const changeMessage inject(changeMessage); // 获取修改数据的函数// 调用函数修改父组件的值const changeParentMessage () {changeMessage(Message updated from Child!);};return { changeParentMessage };} }; /script在 Child 组件中通过 inject 获取 changeMessage 函数并在按钮点击时调用它来修改父组件的 message。 总结 provide在祖先组件中提供数据供后代组件使用。inject在后代组件中接收祖先组件提供的数据。响应式数据传递你可以传递响应式数据对象如 reactive 或 ref使得后代组件修改这些数据会反映到祖先组件。函数传递通过提供修改函数后代组件可以控制数据的修改从而影响祖先组件的状态。 Provide/Inject 机制非常适合跨越多个层级的组件通信并且能够避免通过多层级的 props 传递减少了组件间的耦合度。
http://www.hkea.cn/news/14563958/

相关文章:

  • 晋江市住房与城乡建设局网站六安网站开发
  • Dw怎么做网站往里面加标题和字福安市住房和城乡建设网站
  • 首饰设计网站推荐北京建设教育协会网站
  • 厦门公司建站电子工程师证怎么考
  • 企业建设网站策划案网站营销平台
  • 怎么在国外建网站建一个公司需要多少钱?
  • 做网站架构图wordpress哪个seo工具好
  • 网站目录怎么做外链什么叫电商怎么做电商
  • 百度能搜到自己的网站网站建设运营维护方案
  • 网站被挂黑后果建筑工程网目密度
  • 网站建设哪家公司便宜wordpress主题框架开发
  • 网站推广有哪些方法建设部或国土资源管理局的网站
  • 郑州网站建设 云极聚名网下载
  • 大连开发区网站设计公司wordpress付费阅读全文
  • react做的网站2022年网页游戏排行榜
  • 自己做的视频发什么网站吗三生团队网站找谁做的
  • 饰品网站模板扬州住房与城乡建设局网站
  • 河南睢县筑宇建设网站济南抖音seo
  • 工业园区网站模版ps免费素材网站有哪些
  • wordpress 标题 回车制作网站公司选 择乐云seo专家
  • 网站建设 岗位做男装比较好的网站有哪些
  • 诚聘网站开发网站建设的主要步骤有哪些
  • 济宁商城网站建设python可以做网站前台么
  • 邯郸网站建设选哪家好iis 网站 端口
  • 网站建设哪里学app推广团队
  • 建设银行银行号查询网站海外免费网站推广有哪些
  • 属于c2c的网站有哪些做公司网站报价
  • 杭州网络科技网站腾讯云网站建设视频教程
  • 怎么套模板做网站h5网站要多久
  • 求个国外在线网站白河网站制作