广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue局部组件数据共享Vue.observable()的使用
  • 204
分享到

Vue局部组件数据共享Vue.observable()的使用

2024-04-02 19:04:59 204人浏览 薄情痞子
摘要

随着组件的细化,就会遇到多组件状态共享的情况, Vuex当然可以解决这类问题,不过就像 Vuex官方文档所说的,如果应用不够大,为避免代码繁琐冗余,最好不要使用它,今天我们介绍的是

随着组件的细化,就会遇到多组件状态共享的情况, Vuex当然可以解决这类问题,不过就像 Vuex官方文档所说的,如果应用不够大,为避免代码繁琐冗余,最好不要使用它,今天我们介绍的是 vue.js 2.6 新增加的 Observable api ,通过使用这个 api 我们可以应对一些简单的跨组件数据状态共享的情况。

创建store对象

首先创建一个 store.js,包含一个 store和一个 mutations,分别用来指向数据和处理方法。


//store.js
import Vue from 'vue';

export let store =Vue.observable({count:0,name:'李四'});
export let mutations={
    setCount(count){
        store.count=count;
    },
    changeName(name){
        store.name=name;
    }
}

把store对象应用在不同组件中

然后再在组件中使用该对象


//obserVable.vue
<template>
  <div>
    <h1>跨组件数据状态共享 obserVable</h1>
    <div>
      <top></top>
      <bottom></bottom>
    </div>
  </div>
</template>

<script>
import  top  from './components/top.vue';
import  bottom  from './components/bottom.vue';
export default {
  name: 'obserVable',
  components: {
    top,
    bottom
  }
};
</script>

<style scoped>
</style>

//组件a
<template>
  <div class="bk">
    <span
      ><h1>a组件</h1>
      {{ count }}--{{ name }}</span
    >
    <button @click="setCount(count + 1)">当前a组件中+1</button>
    <button @click="setCount(count - 1)">当前a组件中-1</button>
  </div>
</template>
<script>
import { store, mutations } from '@/store';
export default {
  computed: {
    count() {
      return store.count;
    },
    name() {
      return store.name;
    }
  },
  methods: {
    setCount: mutations.setCount,
    changeName: mutations.changeName
  }
};
</script>
<style scoped>
.bk {
  background: lightpink;
}
</style>

//组件b
<template>
  <div class="bk">
    <h1>b组件</h1>
    {{ count }}--{{ name }}
    <button @click="setCount(count + 1)">当前b组件中+1</button>
    <button @click="setCount(count - 1)">当前b组件中-1</button>
  </div>
</template>
<script>
import { store, mutations } from '@/store';
export default {
  computed: {
    count() {
      return store.count;
    },
    name() {
      return store.name;
    }
  },
  methods: {
    setCount: mutations.setCount,
    changeName: mutations.changeName
  }
};
</script>
<style scoped>
.bk {
  background: lightgreen;
}
</style>

显示效果

在这里插入图片描述

到此这篇关于Vue局部组件数据共享Vue.observable()的使用的文章就介绍到这了,更多相关Vue.observable() 数据共享内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Vue局部组件数据共享Vue.observable()的使用

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue局部组件数据共享Vue.observable()的使用
    随着组件的细化,就会遇到多组件状态共享的情况, Vuex当然可以解决这类问题,不过就像 Vuex官方文档所说的,如果应用不够大,为避免代码繁琐冗余,最好不要使用它,今天我们介绍的是 ...
    99+
    2022-11-12
  • vue 组件间数据方法共享
    随着Vue的流行,Vue组件的使用越来越广泛。但是,处理Vue组件之间的数据和方法共享问题仍然是一个重要的挑战。在这篇文章中,我将讨论一些处理Vue组件之间数据和方法共享的最佳实践。组件通信方式组件通信是Vue中最常见的一种场景。在Vue中...
    99+
    2023-05-24
  • Vue组件之间的数据共享详解
    目录一、在项目开发中,组件之间的最常见的关系分为如下两种:1.1父子组件之间的数据共享1. 父->子共享数据2.子->父共享数据1.2兄弟组件之间的数据共享总结一、在项目...
    99+
    2022-11-12
  • Vuex(多组件数据共享的Vue插件)搭建与使用
    目录1.概念2.何时使用3.搭建Vuex环境4.Vuex使用5.getters的使用6.四个map方法的使用7.模块化+命名空间总结1.概念 在Vue中实现集中式状态(数据)管理的一...
    99+
    2022-11-13
    vuex的使用 vuex是什么如何使用 vuex入门
  • Vue组件之间的数据共享怎么实现
    本篇内容介绍了“Vue组件之间的数据共享怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、在项目开发中,组件之间的最常见的关系分为如...
    99+
    2023-06-21
  • Vue中如何使用全局组件和局部组件
    Vue中如何使用全局组件和局部组件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。组件 (Component) 是 Vue.js...
    99+
    2022-10-19
  • Vue  vuex配置项和多组件数据共享案例分享
    目录getters 配置项mapState、mapGettersmapActions、mapMutations多组件共享数据没有看过上一篇的同学可以查看: Vue Vuex...
    99+
    2022-11-13
  • vue 当中组件之间共享数据的实现方式
    目录vue组件之间共享数据方式Vuex使用vuex统一管理状态的好处vuex 的基本使用vuex 中的主要核心概念stateMutationActionGettervue组件之间共享...
    99+
    2022-11-13
    vue组件 vue组件之间数据 vue共享数据
  • 使用vue组件封装共用的组件
    目录这里提供两种vue封装共用组件的方法方法一方法二vue封装公共组件调用方法这里提供两种vue封装共用组件的方法 方法一 main.js中 import ListItem from...
    99+
    2022-11-13
  • react-redux多个组件数据共享的方法
    目录多个组件数据共享总结: 多个组件数据共享 我们之前讲解的一直都是只有一个组件需要向redux读取状态,也就是Count这个求和组件。那么我们在实际使用redux的场景中,当然是有...
    99+
    2022-11-13
  • vue全局引用公共的组件以及公共的JS文件问题
    目录全局引用公共的组件及公共的JS文件全局引入自定义组件问题全局引用公共的组件及公共的JS文件 1. 创建一个公共的目录 timeline ,里面包含 timeline.js 和 t...
    99+
    2022-11-13
  • 如何使用vue组件封装共用的组件
    这篇文章主要介绍了如何使用vue组件封装共用的组件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何使用vue组件封装共用的组件文章都会有所收获,下面我们一起来看看吧。这里提供两种vue封装共用组件的方法方法一...
    99+
    2023-06-30
  • Servlet实现共享数据JavaWeb组件的几种方法
    目录一、Servlet简介二、Servlet的运行过程Servlet组件:多个Servlet之间共享数据实现方案转发与重定向全局作用域对象Servlet JavaWeb三大组件包括,...
    99+
    2022-11-12
  • React中受控组件与数据共享的示例分析
    这篇文章主要介绍React中受控组件与数据共享的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体如下:在HTML当中,像<input>,<textarea...
    99+
    2022-10-19
  • vue如何在main.js中配置全局的通用公共组件
    目录在main.js中配置全局的通用公共组件vue.js全局组件的三种方式全局组件第一种方式,单引号(或双引号)第二种方式反引号第三种方式外部ID总结在main.js中配置全局的通用...
    99+
    2023-01-13
    vue main.js main.js配置公共组件 全局通用公共组件
  • Android数据共享 sharedPreferences 的使用方法
    Android数据共享 sharedPreferences 的使用方法Android 中通过 sharedPreferences 来持久化存储数据并进行共享在 Activity 或存在 Context 环境中即可使用context.getS...
    99+
    2023-05-30
    android sharedpreferences roi
  • vue+vuex+axio从后台怎么获取数据存入vuex实现组件之间共享数据
    这篇文章主要介绍vue+vuex+axio从后台怎么获取数据存入vuex实现组件之间共享数据,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在vue项目中组件间相互传值或者后台获取的数...
    99+
    2022-10-19
  • 虚拟机中linux如何使用共享文件夹传输数据
    小编给大家分享一下虚拟机中linux如何使用共享文件夹传输数据,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、使用共享文件夹传输数据在自己建立的win7系统中的共享文件夹中存放一些文件,然后在linux系统中访问,其中L...
    99+
    2023-06-09
  • 如何正确的使用C++ 共享数据保护机制
    本文章向大家介绍如何正确的使用C++ 共享数据保护机制,主要包括{**}的使用实例,应用技巧,基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。(1)常类型  ①常对象:必须进行初始化,不能被更新。  const 类...
    99+
    2023-06-06
  • Vue组件的自定义事件和全局事件总线怎么使用
    这篇“Vue组件的自定义事件和全局事件总线怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue组件的自定义事件和全局...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作