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 相关文章推荐
jQuery帮助之CSS尺寸(五)outerHeight、outerWidth
Nov 14 Javascript
js监听表单value的修改同步问题,跨浏览器支持
Dec 31 Javascript
JS对外部文件的加载及对IFRMAME的加载的实现,当加载完成后,指定指向方法(方法回调)
Jul 04 Javascript
js call方法详细介绍(js 的继承)
Nov 18 Javascript
JS判断不能为空实例代码
Nov 26 Javascript
javascript中select下拉框的用法总结
Jan 07 Javascript
Ext JS框架中日期函数的用法及日期选择控件的实现
May 21 Javascript
动态更新highcharts数据的实现方法
May 28 Javascript
jquery中绑定事件的异同
Feb 28 Javascript
浅谈angular4 ng-content 中隐藏的内容
Aug 18 Javascript
Node 自动化部署的方法
Oct 17 Javascript
Vue Element UI + OSS实现上传文件功能
Jul 31 Javascript
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
PHP中如何定义和使用常量
2013/02/28 PHP
给网站上的广告“加速”显示的方法
2007/04/08 Javascript
js控制CSS样式属性语法对照表
2012/12/11 Javascript
js统计页面的来访次数实现代码
2014/05/09 Javascript
js面向对象之公有、私有、静态属性和方法详解
2015/04/17 Javascript
Jquery实现遮罩层的方法
2015/06/08 Javascript
jquery实现简单实用的弹出层效果代码
2015/10/15 Javascript
Node.js程序中的本地文件操作用法小结
2016/03/06 Javascript
jQuery hover事件简单实现同时绑定2个方法
2016/06/07 Javascript
仿iframe效果Aajx文件上传实例
2016/11/18 Javascript
vue+mockjs模拟数据实现前后端分离开发的实例代码
2017/08/08 Javascript
Node之简单的前后端交互(实例讲解)
2017/11/14 Javascript
基于js 字符串indexof与search方法的区别(详解)
2017/12/04 Javascript
angular ng-model 无法获取值的处理方法
2018/10/02 Javascript
NodeJS有难度的面试题(能答对几个)
2019/10/09 NodeJs
VUE项目axios请求头更改Content-Type操作
2020/07/24 Javascript
[14:21]VICI vs EG (BO3)
2018/06/07 DOTA
Python实现读取json文件到excel表
2017/11/18 Python
Python3.7 读取 mp3 音频文件生成波形图效果
2019/11/05 Python
python实现差分隐私Laplace机制详解
2019/11/25 Python
信号生成及DFT的python实现方式
2020/02/25 Python
Python-jenkins模块之folder相关操作介绍
2020/05/12 Python
python 引用传递和值传递详解(实参,形参)
2020/06/05 Python
OpenCV 之按位运算举例解析
2020/06/19 Python
python 发送邮件的示例代码(Python2/3都可以直接使用)
2020/12/03 Python
python绘制汉诺塔
2021/03/01 Python
CSS3属性box-shadow使用指南
2014/12/09 HTML / CSS
意大利运动服减价商店:ScontoSport
2020/03/10 全球购物
物业电工岗位职责
2013/11/20 职场文书
采购类个人求职的自我评价
2014/02/18 职场文书
办公室主任岗位职责范本
2015/03/31 职场文书
教师节主持词开场白
2015/05/29 职场文书
新学期开学寄语2016
2015/12/04 职场文书
Python中的min及返回最小值索引的操作
2021/05/10 Python
浅谈什么是SpringBoot异常处理自动配置的原理
2021/06/21 Java/Android
js中Map和Set的用法及区别实例详解
2022/02/15 Javascript