Vue 开发实战
唐金州
一点资讯前端技术专家,Ant Design Vue 作者
60939 人已学习
新⼈⾸单¥59
课程目录
已完结/共 53 讲
Vue 开发实战
登录|注册
留言
36
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 10 | 理解虚拟DOM及key属性的作用
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管理)
本节摘要
登录 后留言

全部留言(36)

  • 最新
  • 精选
吴银春
测试发现,最好不要用index作为key,用index作为key有时候还会导致bug,尤其是item是具有某种状态的时候。。举个简单的例子,如果有ABC三个item,其中第一个A是选中的,这个时候如果我在A前面添加D,如果用index作为key就会变成D是选中的了,建议用唯一id来作为key

作者回复: 👍

2019-03-27
6
47
leslee
老师你好, 看了评论知道子组件有状态的时候不能用index做key , 那么组件的状态是指data, props 这些数据吗, 什么是无状态组件呢, 他们跟key有什么关联?

作者回复: 应该是子组件有自己的状态的时候,就是data。 他们和key本身没关系,但是如果你用了index作为key,当出现删除,排序后,状态就和你的预期不一样了,如 A1 A2 内部分别有自己的状态message 1和2 如果拿index做为key,逆序后变成A2 A1 但A2的message就变成了1 A1的message变成了2

2019-03-23
7
darren
场景一和场景四怎么区分的哦?

作者回复: 场景1 bcd 是不同类型的节点,如 分别是span div p 三种类型 场景4是三个同类型节点,只是传递的属性不一致

2019-03-19
7
jacky
vue这种间接操作Dom原理,性能方面比jquery的直接操作Dom性能更差一些?

作者回复: 对,的确要差一些,最终都是要操作dom的,当然也分场景,但是框架是在性能和开发效率之间找到一个平衡点

2019-05-09
2
5
Yu
如果没有数据id,怎样生成key更符合规范呢?

作者回复: 如果没有唯一值,可以维护自增的id 只要保证静态唯一

2020-04-25
4
4
jacky
请问老师vue开发网站,浏览器兼容性这块是不是有所限制?

作者回复: 仅支持ie9及以上

2019-04-25
4
都市夜归人
当使用v-for时,由于后台返回的数据有时候没有唯一的主键,请问是否可以使用数据中的某个属性+index作为:key的值?谢谢!

作者回复: 并不可以, key需要的是一个静态唯一值 如果没有静态唯一值,可以自己生成

2019-07-09
4
3
希言自然
课后作业:不使用index,是因为老师说的场景是排序或者数据list变化操作。key是为了辅助vue做dom操作的,一旦排序,list内容发生变化,很可能出现相同index的但内容不同的标记被渲染到页面,这样理解对吗?

作者回复: 不对 写几个bug加深理解

2020-04-13
2
你的一哥
同级节点没有相同类型的?是指同层不能出现相同的html标签吗?

作者回复: 是的

2019-12-02
2
danea.w
老师,讲这些场景的意义在哪里🧐

作者回复: 理解vue的更新机制,提升组件的渲染性能,尤其是key的作用,除了性能,还有避免因为key的不稳定导致的bug

2019-03-29
2
收起评论