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

asp.net mvc 网站开发之美广东卫视新闻联播

asp.net mvc 网站开发之美,广东卫视新闻联播,聊城质量最好网站建设,阿树 wordpress本文参考珠峰架构公开课之vuex实现原理 vuex是基于vue框架的状态管理。 如何在vue项目中初始化vuex? 通过Vue.use(vuex)注册。通过实例化vuex里的Store,并传入options即可使用。 import Vue from "vue"; import Vuex from "vuex"; V…

本文参考珠峰架构公开课之vuex实现原理

vuex是基于vue框架的状态管理。

如何在vue项目中初始化vuex
  1. 通过Vue.use(vuex)注册。
  2. 通过实例化vuex里的Store,并传入options即可使用。
import Vue from "vue";
import Vuex from "vuex";
Vue.use(Vuex);
export default new Vuex.Store({state: {},getters: {},mutations: {},actions: {}
});

既然vuex是通过vue.use注册,并且通过vuex.Store实例化来生成,那它的底层是包含一个Store的实例,并且有个注册组件的install方法。

class Store {constructor(options) {}
}
const vuex = {install(Vue) {}
};
export default {...vuex,Store,
};
状态保存在什么地方?

vue中是通过this.$store.state访问。既然通过this访问全局状态,分析可以有两种方式实现:

  1. $store是绑定在vue的原型上,即通过Vue.prototype.$store绑定。
  2. 通过Vue.mixin给所有的组件的属性上绑定$store

实际上vuex是通过Vue.mixin来实现保存全局状态的。那为什么不能绑定在vueprototype上呢?看下例:

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'new Vue1({store,render: h => h(App)
}).$mount('#app')new Vue2({render: h => h(App)
}).$mount('#app2')

如果碰到一个项目中vue被实例化了两次,这时候将$store保存在vue.prototype上的话,Vue1Vue2会共享一个$store,这样会造成状态冲突。实例化出来的vue,他们的状态应该是隔离的。所以通过Vue.mixin给当前vue实例下所有的组件绑定$store属性,实现代码如下:

const vuex_install = {install(vue) {vue.mixin({beforeCreate() {if (this.$options && this.$options.store) {this.$store = this.$options.store;} else {this.$store = this.$parent && this.$parent.$store;}},});},
};

1. 为什么要放在beforeCreate中注册?
个人理解是因为在beforeCreate中注册$store的话就可以在created中使用$store
2. $store是如何绑定到各个组件上的?
通过Vue.mixin的实现思路就是在组件创建之前(生命周期为beforeCreate)的时候,判断组件是否存在store属性,存在的话就是根元素,并在根元素绑定$store属性,然后子组件再一步步获取上级组件的$store属性并绑定到自己的$store属性上,这样所有的组件都支持通过$store来访问状态值。

最后编辑于:2025-04-21 10:38:03


喜欢的朋友记得点赞、收藏、关注哦!!!


文章转载自:

http://NcLFmQkh.snmth.cn
http://54wTaYao.snmth.cn
http://9DmmMNXj.snmth.cn
http://K69X3xlz.snmth.cn
http://N5rhG5Wr.snmth.cn
http://X7CGEOoL.snmth.cn
http://P6qHqKkP.snmth.cn
http://4PInUYB9.snmth.cn
http://O2ba0egM.snmth.cn
http://VGuetUq1.snmth.cn
http://UKbAcBoa.snmth.cn
http://Mh7N6c54.snmth.cn
http://2lcNgSET.snmth.cn
http://Gg8hUr71.snmth.cn
http://yLoRvXx3.snmth.cn
http://lyDJWjuK.snmth.cn
http://jZ92er4s.snmth.cn
http://pwRrcl9P.snmth.cn
http://zzCQI9h3.snmth.cn
http://Z0Us5Gd7.snmth.cn
http://py2FS49q.snmth.cn
http://OUvjdqVs.snmth.cn
http://CgmpJJAe.snmth.cn
http://8Bvu9ta8.snmth.cn
http://inFpGFOF.snmth.cn
http://SJZguDKS.snmth.cn
http://fv8qQHl3.snmth.cn
http://ut54Ll7e.snmth.cn
http://zcUczstK.snmth.cn
http://1iPp1gE4.snmth.cn
http://www.dtcms.com/wzjs/758471.html

相关文章:

  • 乌海建设局网站上海网站建设-网建知识
  • 电商法规定企业网站必须做3年怎么在360上做推广
  • 广告产品淄博网站制作优化
  • 珠海网站建设工程阿里云网站建设模板
  • 网站感谢页面著名wordpress个人博客
  • asp网站显示空白公司商标设计logo图案
  • 民权做网站推广普通话的意义50字
  • 湛江专业建站公司易科技 建设网站
  • 塘沽做网站比较好的培训学校设计
  • 天津做网站好的公司网站权重如何查询
  • 丹阳做网站的公司中国建设银行登录入口
  • 设计素材网站黄金烤肠商城开发哪家好
  • 网站推广费用入什么科目湖南中霸建设公司官网
  • 乐器网站模板wordpress主题中的文件在哪
  • 建设家具网站WordPress4.5取消了
  • 网站建设实验后体会百度贴吧入口
  • 织梦修改网站标题郴州网红打卡景点
  • 网站 搭建 亚洲服务器网站建设都包括什么
  • 做国外网站用什么颜色网络营销专业主修课程
  • 怎样在微信做产品网站有赞和凡科小程序哪个好
  • 网站微信二维码侧边栏漂浮框烟台做网站的
  • 网站栏目变了怎么做跳转电子商务网站建设视频教程
  • visual studio制作网站开发怎么样让网站网址有图标
  • 建设一个视频网站需要什么毕设做系统与网站答辩
  • 怎么做购物网站系统文本wordpress主题正版
  • 门户网站网页设计规范简述网站建设主要流程
  • 彩票网站的推荐怎么做浙江建站优化品牌
  • 网站怎么做导航有专门做背景音乐的网站吗
  • 东莞专业做淘宝网站建设餐饮店如何引流与推广
  • 网站建站前seo注意建站开发工具