我们在写vue项目的时候会遇到给组件命名

这里的name非必选项,看起来好像没啥用处,但是实际上这里用处还挺多的

1
2
3
export default {
   name:'xxx'
}

1.当项目使用keep-alive时,可搭配组件name进行缓存过滤

举个例子:

我们有个组件命名为detail,其中dom加载完毕后我们在钩子函数mounted中进行数据加载

export default {
name:'Detail'
},
mounted(){
this.getInfo();
},
methods:{
getInfo(){
axios.get('/xx/detail.json',{
params:{
id:this.$route.params.id
}
}).then(this.getInfoSucc)
}
}

因为我们在App.vue中使用了keep-alive导致我们第二次进入的时候页面不会重新请求,即触发mounted函数。

有两个解决方案,一个增加activated()函数,每次进入新页面的时候再获取一次数据。

还有个方案就是在keep-alive中增加一个过滤,如下图所示:

<div id="app">
<keep-alive exclude="Detail">
<router-view/>
</keep-alive>
</div>

2.DOM做递归组件时

比如说detail.vue组件里有个list.vue子组件,递归迭代时需要调用自身name

list.vue:

<div>
<div v-for="(item,index) of list" :key="index">
<div>
<span class="item-title-icon"></span>
{{item.title}}
</div>
<div v-if="item.children" >
<detail-list :list="item.children"></detail-list>
</div>
</div>
</div>
<script>
export default {
name:'DetailList',//递归组件是指组件自身调用自身
props:{
list:Array
}
}
</script>

list数据:

const list = [{
"title": "A",
"children": [{
"title": "A-A",
"children": [{
"title": "A-A-A"
}]
},{
"title": "A-B"
}]
}, {
"title": "B"
}, {
"title": "C"
}, {
"title": "D"
}]

迭代的结果如下:

3.当你用vue-tools时

vue-devtools调试工具里显示的组见名称是由vue中组件name决定的

 

.

最新文章

  1. Android studio 出现 Unsupported major.minor version 52.0
  2. AngularJs单元测试
  3. 用Asroute解决复杂状态切换问题
  4. cocos2dx Http网络编程
  5. UVA 11865 Stream My Contest(最小树形图)
  6. Adobe Edge Animate –修改Edge Commons Spotlight功能,使之能支持播放中国网站视频
  7. Android 内核初识(4)属性服务器
  8. [二]SpringMvc实践-注解
  9. VMware下打开Chrome OS遇到没有网络连接可用
  10. phalcon的一些中文手册和帮助文档地址收集
  11. Javascript闭包与作用域
  12. vi &amp; vim 基本指令(持续更新ing)
  13. RIP 相对寻址
  14. awk空行合并
  15. C++ Primer Plus阅读笔记
  16. 【系统】libevent库学习
  17. HDU5977 Garden of Eden 【FMT】【树形DP】
  18. 嵌入式开发之zynqMp ---Zynq UltraScale+ MPSoC 图像编码板zcu102
  19. 【LeetCode】4. 寻找两个有序数组的中位数
  20. js多线程(worker)

热门文章

  1. 通过存储过程(SP)实现SQL Server链接服务器(LinkServer)的添加
  2. django之查询操作及开启事务
  3. Linux命令(自己工作常用)
  4. いくnotepad++
  5. 前端如何快速定位问题传参 和false
  6. xen原理
  7. Deepin 15.9系统直接运行exe运行程序
  8. USACO Max Flow
  9. Python学习记录:括号配对检测问题
  10. Java连载44-静态代码块、实例代码块、继承