返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue2实现provide inject传递响应式
  • 861
分享到

vue2实现provide inject传递响应式

2024-04-02 19:04:59 861人浏览 安东尼
摘要

1. Vue2 中的常规写法 // 父级组件提供 'foo' var Provider = { data(){ return { foo: 'bar'

1. Vue2 中的常规写法


// 父级组件提供 'foo'
var Provider = {
data(){
    return {
        foo: 'bar'
    }
}
  provide: {
    fooProvide: this.fooFn // 传递一个引用类型函数过去
  },
 methods:{
     fooFn() {
        return this.foo
      }
 }
}

var Child = {
  inject: ['fooProvide'],
  computed:{
      fooComputed(){
          return this.fooProvide()  // 因为传递过来是个引用类型的函数
      }
  }
  created () {
    console.log(this.fooComputed) 
  }
  // ...
}

2. vue2 中的不太常规写法,但用得舒服.(大概用法还是一样,只是传递的值变成 this--> 整个实例)


// 父级组件提供 'foo'
var Provider = {
data(){
    return {
        foo: 'bar',
        other:'...'
    }
}
  provide: {
    app: this// 传递整个this过去
  },
  mounted(){
      const that = this
      setTimeout(()=>{
          that.foo = '改变值'
      },4000)
  }
}

var Child = {
  inject: ['app'],
  created () {
    console.log(this.app.foo)  // this.app 下面都是响应式的,因为都是同一实例下的引用
  }
  // ...
}

3. vue2 + ts (因为ts之前没用过的话确实不知道怎么用,所以示例一下)

Provide 方式:
 1. @Provide() foo = 'foo'
 2. @Provide('bar') baz = 'bar'

Inject 方式:
 1. @Inject() foo: string
 2. @Inject('bar') bar: string
 3. @Inject(s) baz: string

示例:


// 父级组件提供 'fooProvide'
@Provide('fooProvide') // 随意起名,传递跟接收一样就行.但一般保持跟下面变量一样
fooProvide = this.refreshNumFn // 变量接收一下要传递的值
refreshNumFn() {
  return this.refreshNum
}

// 子组件接收
@Inject('fooProvide') fooProvide: any
get valueA(): any {
    return this.fooProvide()
  }
mounted(){
    console.log(this.valueA) // ...
}

到此这篇关于vue2实现provide inject传递响应式 的文章就介绍到这了,更多相关vue2 provide inject 内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: vue2实现provide inject传递响应式

本文链接: https://lsjlt.com/news/126544.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • vue2实现provide inject传递响应式
    1. vue2 中的常规写法 // 父级组件提供 'foo' var Provider = { data(){ return { foo: 'bar' ...
    99+
    2024-04-02
  • vue2如何实现provide inject传递响应式
    这篇文章将为大家详细讲解有关vue2如何实现provide inject传递响应式,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1. vue2 中的常规写法// 父级组件提供 '...
    99+
    2023-06-15
  • vue2中provide/inject的使用与响应式传值详解
    目录前言一、基本用法二、响应式1.方法一:传递的参数用一个方法返回2.方法二:把需要传递的参数定义成一个对象总结前言 官网概念:这对选项需要一起使用,以允许一个祖先组件向其所有子孙后...
    99+
    2024-04-02
  • vue中provide inject的响应式监听解决方案
    目录provide inject的响应式监听解决vue监听赋值及provide与injectprovide inject的响应式监听解决 提示:provide 和 inject 绑定...
    99+
    2024-04-02
  • vue中provide inject的响应式监听问题怎么解决
    这篇文章主要介绍“vue中provide inject的响应式监听问题怎么解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue中provide inject的响应式监听问题怎...
    99+
    2023-06-30
  • Vue2响应式系统之深度响应怎么实现
    本文小编为大家详细介绍“Vue2响应式系统之深度响应怎么实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue2响应式系统之深度响应怎么实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1、场景import&...
    99+
    2023-06-30
  • vue2基本响应式实现方式之让数组也变成响应式
    目录vue2让数组也变成响应式vue2中的响应式原理有三点 解决缺点的方法总结vue2让数组也变成响应式 之前的代码有个问题,就是操作数组数据的时候,不会触发set let...
    99+
    2023-05-17
    vue2基本响应式 vue2数组 vue2数组变响应式
  • Vue2响应式系统之嵌套怎么实现
    这篇“Vue2响应式系统之嵌套怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue2响应式系统之嵌套怎么实现”文章吧...
    99+
    2023-06-30
  • Vue2响应式系统之异步队列怎么实现
    这篇“Vue2响应式系统之异步队列怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue2响应式系统之异步队列怎么实现...
    99+
    2023-06-30
  • Vue2响应式系统之分支切换怎么实现
    本篇内容介绍了“Vue2响应式系统之分支切换怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!场景我们考虑一下下边的代码会输出什么。im...
    99+
    2023-06-30
  • vue2和vue3数据响应式原理分析及如何实现
    今天就跟大家聊聊有关vue2和vue3数据响应式原理分析及如何实现,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。数据响应式视图跟数据是自动更新的,数据更新的时候视图是自动的更新的追踪...
    99+
    2023-06-22
  • Vue父子传递方式怎么实现
    本篇内容介绍了“Vue父子传递方式怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!实现功能:1、子组件的input输入,改变父组件信息...
    99+
    2023-07-04
  • 怎么实现Vue的响应式
    这篇文章主要介绍了怎么实现Vue的响应式,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。简易版 以watch为切入点watch是平时开发中使用...
    99+
    2024-04-02
  • Vue3 响应式系统实现 computed
    目录前言实现 computed总结前言 上篇文章我们实现了基本的响应式系统,这篇文章继续实现 computed。 首先,我们简单回顾一下: 响应式系统的核心就是一个 WeakMap ...
    99+
    2024-04-02
  • vue+element怎么实现响应式
    本篇内容介绍了“vue+element怎么实现响应式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、如何使用Element UI在Vue项...
    99+
    2023-07-05
  • ajax传递多个参数具体实现方式
    这篇文章主要介绍“ajax传递多个参数具体实现方式”,在日常操作中,相信很多人在ajax传递多个参数具体实现方式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ajax传递多个...
    99+
    2024-04-02
  • ajax传递一个参数具体实现方式
    这篇文章主要讲解了“ajax传递一个参数具体实现方式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ajax传递一个参数具体实现方式”吧!复制代码 代码如下:...
    99+
    2024-04-02
  • 【使用multipart/form-data方式传递MultipartFile参数,实现服务间文件的传递】
    目录 一、代码实现二、MultipartFile工具类三、HttpClient使用四、参考链接 一、代码实现 1、A服务接收前端上传文件并发送至B服务 引入依赖 org.apa...
    99+
    2023-09-06
    前端 java
  • Bootstrap如何实现响应式表格
    这篇文章给大家分享的是有关Bootstrap如何实现响应式表格的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Bootstrap 的响应式 CSS 能够自适应于台式机、平板电脑和手...
    99+
    2024-04-02
  • Angular2如何实现响应式表单
    小编给大家分享一下Angular2如何实现响应式表单,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!响应式表单介绍angular提...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作