vue组件name的作用小结


Posted in Javascript onMay 23, 2018

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

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

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"
    }]

迭代的结果如下:

vue组件name的作用小结

3.当你用vue-tools时

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

vue组件name的作用小结

总结

以上所述是小编给大家介绍的vue组件name的作用小结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js 动态添加标签(新增一行,其实很简单,就是几个函数的应用)
Mar 26 Javascript
JS 类型转换常见方法小结
May 31 Javascript
解析JavaScript中的标签语句
Jun 19 Javascript
javascript ready和load事件的区别示例介绍
Aug 30 Javascript
jquery html动态生成select标签出问题的解决方法
Nov 20 Javascript
js加载读取内容及显示与隐藏div示例
Feb 13 Javascript
多个checkbox被选中时如何判断是否有自己想要的
Sep 22 Javascript
javascript鼠标滑动评分控件完整实例
May 13 Javascript
利用PM2部署node.js项目的方法教程
May 10 Javascript
JQuery 又谈ajax局部刷新
Nov 27 jQuery
JavaScript自定义超时API代码实例
Apr 30 Javascript
VUE使用draggable实现组件拖拽
Apr 06 Vue.js
linux 后台运行node服务指令方法
May 23 #Javascript
node.js部署之启动后台运行forever的方法
May 23 #Javascript
jquery引入外部CDN 加载失败则引入本地jq库
May 23 #jQuery
jQuery实现form表单序列化转换为json对象功能示例
May 23 #jQuery
让Vue也可以使用Redux的方法
May 23 #Javascript
微信小程序排坑指南详解
May 23 #Javascript
关于vue-router的那些事儿
May 23 #Javascript
You might like
一个颜色轮换的简单例子
2006/10/09 PHP
CI框架实现cookie登陆的方法详解
2016/05/18 PHP
使用composer 安装 laravel框架的方法图文详解
2019/08/02 PHP
网页广告中JS代码的信息监听示例
2014/04/02 Javascript
浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法
2014/05/11 Javascript
jQuery图片切换插件jquery.cycle.js使用示例
2014/06/16 Javascript
jquery实现Li滚动时滚动条自动添加样式的方法
2015/08/10 Javascript
jquery彩色投票进度条简单实例演示
2020/07/23 Javascript
JS模仿手机端九宫格登录功能实现代码
2016/04/28 Javascript
JavaScript仿flash遮罩动画效果
2016/06/15 Javascript
JavaScript中关于for循环删除数组元素内容时出现的问题
2016/11/21 Javascript
利用Javascript裁剪图片并存储的简单实现
2017/03/13 Javascript
js实现图片轮播效果学习笔记
2017/07/26 Javascript
Vue ElementUi同时校验多个表单(巧用new promise)
2018/06/06 Javascript
OpenLayers3实现对地图的基本操作
2020/09/28 Javascript
vue 导航守卫和axios拦截器有哪些区别
2020/12/19 Vue.js
python实现ftp客户端示例分享
2014/02/17 Python
python查看列的唯一值方法
2018/07/17 Python
详解Django-restframework 之频率源码分析
2019/02/27 Python
Python 如何展开嵌套的序列
2020/08/01 Python
python 递归相关知识总结
2021/03/03 Python
css3的transform造成z-index无效解决方案
2014/12/04 HTML / CSS
css3实现文字扫光渐变动画效果的示例
2017/11/07 HTML / CSS
Html5+JS实现手机摇一摇功能
2015/04/24 HTML / CSS
国际领先的学术出版商:Springer
2017/01/11 全球购物
德国购买健身器材:AsVIVA
2017/08/09 全球购物
西班牙手机之家:Phone House
2018/10/18 全球购物
英国伦敦的睡衣品牌:Asceno
2019/10/06 全球购物
招商经理岗位职责
2013/11/16 职场文书
医学专业本科毕业生自我鉴定
2013/12/28 职场文书
公司党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
检察院对照“四风”认真查找问题落实整改措施
2014/09/26 职场文书
共产党员批评与自我批评
2014/10/15 职场文书
大学生违纪检讨书范文
2015/05/07 职场文书
深度好文:50条没人告诉你的人生经验,句句精辟
2019/08/22 职场文书
《英雄联盟》2022日蚀、月蚀皮肤演示 黑潮亚索曝光
2022/04/13 其他游戏