Vue 开发实战
唐金州
一点资讯前端技术专家,Ant Design Vue 作者
60939 人已学习
新⼈⾸单¥59
课程目录
已完结/共 53 讲
Vue 开发实战
登录|注册
留言
21
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 20 | Vuex核心概念及底层原理
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | 课程介绍
02 | Vue简介
03 | 内容综述
05 | 组件基础及组件注册
04 | 第一个Vue程序
06 | Vue组件的核心概念:事件
07 | Vue组件的核心概:插槽
08 | 理解单文件组件
09 | 双向绑定和单向数据流不冲突
10 | 理解虚拟DOM及key属性的作用
11 | 如何触发组件的更新
12 | 合理应用计算属性和侦听器
13 | 生命周期的应用场景和函数式组件
14 | 指令的本质是什么
15 | 常用高级特性provide/inject
16 | 如何优雅地获取跨层级组件实例(拒绝递归)
17 | template和JSX的对比以及它们的本质
18 | 为什么需要Vuex
19 | 如何在Vue中使用Vuex
20 | Vuex核心概念及底层原理
21 | Vuex最佳实践
22 | Vue Router的使用场景
23 | 选择何种模式的路由及底层原理
24 | Nuxt解决了哪些问题?
25 | Nuxt核心原理是什么?
26 | UI组件库对比:Element UI、Ant Design Vue、iView
27 | 提升开发效率和体验的常用工具:ESLint、Prettier、vue-devtools
28 | 单元测试的重要性及其使用
29 | 生态篇习题解答(上)
30 | 生态篇习题解答(下)
31 | Ant Design Pro介绍
32 | 使用Vue CLI 3快速创建项目
33 | 如何自定义Webpack和Babel配置
34 | 如何设计一个高扩展性的路由
35 | 实现一个可动态改变的页面布局
36 | 如何将菜单和路由结合
37 | 如何使用路由管理用户权限
38 | 更加精细化的权限设计(权限组件、权限指令)
39 | 如何在组件中使用ECharts、Antv等其他第三方库
40 | 如何高效地使用Mock数据进行开发
41 | 如何与服务端进行交互(Axios)
42 | 创建一个普通表单
43 | 初始数据、自动校验、动态赋值
44 | 创建一个分步表单
45 | 自己封装一个支持自动校验的表单项
46 | 如何管理系统中使用的图标
47 | 如何定制主题及动态切换主题
48 | 如何做好国际化
49 | 如何高效地构建打包发布
50 | 如何构建可交互的组件文档
51 | 如何做好组件的单元测试
52 | 如何发布组件到npm
53 | 结课测试&GitHub相关生态应用(持续集成、单测覆盖率、文档发布、issue管理)
本节摘要
登录 后留言

全部留言(21)

  • 最新
  • 精选
Starry starry night
这套视频对于新手来说跳跃性很强: 1,很适合去根据视频中的知识点去自主学习,而且这样印象才会更深。 2,视频中出现了很多实际工程中出现的问题,并给出了解决工具与解决方法。 3,最后就是老师很积极的在做好本次课程,会及时给留言区留下回复。

作者回复: 我想这样效果会更好一些 感谢支持

2019-05-07
2
5
赤霄
get函数下面 return this._vm.data.$state吧 看老师写成了 return this._vm.data.$$state

作者回复: 是$$state 这个名称是自己在 data中自己定义的 可以任意起名字,当然不能和vue保留字冲突

2019-04-10
1
😶
老师最后个项目是什么项目?

作者回复: 中后台管理系统 可以搜索下 ant-design-pro 已经有react版的了

2019-03-29
2
1
༺治朋༻
明白了,vuex跟vue自身的实例都是独立的存在, 在引用vuex时候 是不是在new Vue那里挂载到了,当前的vue实例上边, 所以后边用 this.$store 之类的都能操作呢?

作者回复: 你可以这么理解,但内部还是有些小逻辑的,有兴趣可以看看源码

2019-05-05
renderfan001
import Vue from 'vue'; function Store(options={}) { const{state = {}, mutations = {}, getters={}, actions={}} = options; this.vm = new Vue({ data:{ $$state: state }, }); this.commit = function(type, payload) { if(mutations[type]) { mutations[type].call(this, state, payload); } } this.dispatch = function(type, payload) { if(actions[type]) { let args = [state, payload]; actions[type].apply(null, args); } } let thisGetters = {}; for(let p in getters) { Object.defineProperty(thisGetters, p, { get() { return getters[p](state);} }); } this.getters = thisGetters; this.mutations = options.mutations; this.state = state; } function init() { let options = this.$options; if(options.store) { this.$store = options.store; } else if(options.parent && options.parent.$store) { this.$store = options.parent.$store; } } function install(Vue) { Vue.mixin({beforeCreate: init}); } export default { Store, install }
2020-04-25
14
雷恩
老师,提个意见,最好能结合你的经验讲下技巧之类的内容。
2019-03-30
13
Geek_4e4ec2
老师,store发音是s duo ,re不发音,不然老是联想到story ^^
2019-09-17
3
12
young
老师,min-vuex.js中用new Vue()创建Vue实例了, 然后在main.js中又用new Vue()创建Vue实例了, Vue是单态模式吗?这两次创建的Vue实例是不是同一个Vue实例吧?如果是的话两次创建Vue实例时数据会合并吗?
2019-05-01
1
7
huanghui
return this._vm._data.$$state,为什么是_data,而不是data
2019-04-26
2
4
胖达
作业很有深度.帮助我理解了很多解构,我个人理解查看源代码得到的信息: 1.getters实际上时一个内部实例vue的computed,所以后面作业是要实现getters挂载对应实例的computed 2.注入$store是在store上,有个对应install的钩子函数.实现的挂载
2020-05-23
3
收起评论