VUE—路由(七)vuex state

一、安装vuex

安装完后发现多了store.js文件

store.js相当于仓库,会把所有的数据写在state中

二、安装好后重新运行

三、在学员展示页面添加功能

1)在Student.vue中引入两个组件

2)在component中添加这两个组件

3)把两个组件里面的内容写好

4)在student.vue中使用组件

显示结果:

四、获取store中的数据

可以通过$store获取

数据池中:

studentList中:

给button添加点击事件改变名字时,发现添加学生名字没变

原因是data中name被固定了,$store.state.name改变了data中的name也不改变,所以这时可以用计算属性computed,使数据更新

数据都可以改变了

五、如果store中数据增加

使用此方法可以改变数据,但是如果数据池中的数据多,则用这种方法不方便

所以vuex中提供方法可以拿到store中的很多数据 —>  mapState (直接返回对象,对象里是一个一个的函数)

是对象,对象里是一个一个的函数,跟computed很像

mapState可以直接放在computed里

但如果自己的data里有name属性,上面就会渲染自己的,为避免冲突,mapStata中的name可以改变名字

上面渲染改名字:

六、实现添加列表的功能

1)首先要知道input里输入的数据是什么,所以双向数据绑定

2)在数据中设置name和age

3)点击button时需要知道输入框里的值是什么

4)更改store中的数据

5)把3)中name的值和age的值放到对象中,再把对象放到数组中

6)渲染列表用for循环,for循环需要key值,这里用时间戳当key值

7)改变列表的值

8)更改studentList组件

原文地址:https://www.cnblogs.com/tianya-guoke/p/11520850.html

时间: 2024-08-30 15:53:50

VUE—路由(七)vuex state的相关文章

Vue状态管理vuex

转: https://www.cnblogs.com/xiaohuochai/p/7554127.html 前面的话 由于多个状态分散的跨越在许多组件和交互间各个角落,大型应用复杂度也经常逐渐增长.为了解决这个问题,Vue提供了vuex.本文将详细介绍Vue状态管理vuex 引入 当访问数据对象时,一个 Vue 实例只是简单的代理访问.所以,如果有一处需要被多个实例间共享的状态,可以简单地通过维护一份数据来实现共享 const sourceOfTruth = {} const vmA = new

Vue学习日记(四)——Vue状态管理vuex

前言 先说句前话,如果不是接触大型项目,不需要有多个子页面,不使用vuex也是完全可以的. 说实在话,我在阅读vuex文档的时候,也很难以去理解vuex,甚至觉得没有使用它我也可以.但是直到我在项目碰到下面这些问题: 当路由切换的时候,原本路由的数据太多,传递过去太麻烦. 有些数据是多个路由需要用到的,那我就需要从后台获取多次数据 当然,这些问题都可以解决,就是在实例化vue对象的时候,就将这些数据绑定在window对象上面.但是我们也不得不设想: 万一数据太多了,那么可阅读性是不是会下降 如果

学习vue必备技能vuex

首先我们先用vue-cli搭建项目,安装vuex,安装依赖(这里不一一讲解),然后在src下建立/vuex/store.js,里面代码截图 最简单的引入vue,引入vuex,定义两个对象,一个state(数据状态),一个mutations(改变数据方法),最后export,因为我们别的地方要用 ,比较简单的一个实例,也是比较经典的实例,点击加减改变state里面的值, 红色部分是比较麻烦一点的写法,但是比较容易理解,下面inport之后,我们直接在页面上显示和这个{{  }}类似, 然后comm

vue 路由知识点梳理及应用场景整理

最近做项目才发现,我确实对 vue-router 太不熟悉了,都只了解个简单用法就开始搞了,本来很简单的问题,都搞不清楚.现在重新看一遍文档,重新梳理一下. vue 路由的原理 说实话,路由我一直也就光顾着用,没认真思考过这个问题,还是那次人家面试问了这个,我才反应过来是应该好好的了解一下了. 无刷新跳转页面,是单页应用的一大优势,用户体验好,加载速度快,vue 路由的跳转就是无刷新的,它有两种形式,可以在定义路由的时候通过 mode 字段去配置,如果不配置这个字段,那么默认使用的就是 hash

Vue路由基础

Vue路由 功能就是在不重新请求页面的情况下,更新页面视图: 一.安装: 1)cnpm install vue-router -s 2)依赖:cnpm install 二.设计路由界面: 创建components文件夹,文件夹内分别创建user.Home组件 *user.vue* <template> <div>user</div> </template> *Home.vue* <template> <div>Home</div

vue路由权限认证

因为路由是前端配的,本质上是一个页面,此不可能通过后台来做拦截器. 在一个应用中,有用户无限制的访问一些页面,同时,还有一些登录后才有的权限.比如有这样的路由表 12345678910111213141516171819202122232425262728293031 let router = new Router({ routes: [ { path: '/login', name: 'login', component: Login }, { path: '/desk', name: 'de

vue路由介绍及使用

vue-router:官方提供的vue路由插件 使用流程: 下载:npm I -S vue-router 引用:import VueRouter from 'vue-router' 注册:Vue.use(VueRouter) 路由配置: const routes=[ {path:'/films',component:Films}, //path:路径 component:组件名 {path:'/cinemas',component:Cinemas}, {path:'/center',compon

一步一步学Vue(七)

前言:我以后在文章最后再也不说我下篇博文要写什么,之前说的大家也可以忽略,如果你不忽略,会失望的??,不过说出去的话还是要表示一下的,简单介绍一下路由钩子: 正如其名,vue-router 提供的导航钩子主要用来拦截导航,让它完成跳转或取消.有多种方式可以在路由导航发生时执行钩子:全局的, 单个路由级的, 或者组件级的. 1.全局钩子 使用 router.beforeEach 注册一个全局的 before 钩子: var router = new VueRouter({ ... }) route

初印象至Vue路由

初印象系列为快速了解一门技术的内容,后续会推出本人应用这门技术时发现的一些认识. Vue路由和传统路由的区别: Vue路由主要是用来实现单页面应用内各个组件之间的切换,同样支持传递参数等功能.而传统路由使用超链接 以下内容来自官网,js使用ES6 如何在vue项目中使用vue-router HTML <script src="https://unpkg.com/vue/dist/vue.js"></script> <script src="htt

Vue - 路由传递参数

Vue 2.0  路由传递参数 Vue 路由传递参数 有两种方式: 一.用name传递参数 两步完成用name传值并显示在模板里: 在路由文件src/router/index.js里配置name属性. 1 2 3 4 5 6 7 routes: [ { path: '/', name: 'Hello', component: Hello } ] 模板里(src/App.vue)用$router.name的形势接收,比如直接在模板中显示: 1 <p>{{ $route.name}}</p&