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的图片大小自动适应实现代码
Nov 17 Javascript
Jquery实现点击切换图片并隐藏显示内容(2种方法实现)
Apr 11 Javascript
关于jQuery判断元素是否存在的问题示例探讨
Jul 21 Javascript
jquery实现简单文字提示效果
Dec 02 Javascript
JS深度拷贝Object Array实例分析
Mar 31 Javascript
Angular Module声明和获取重载实例代码
Sep 14 Javascript
js canvas仿支付宝芝麻信用分仪表盘
Nov 16 Javascript
详解为Bootstrap Modal添加拖拽的方法
Jan 05 Javascript
vuex + axios 做登录验证 并且保存登录状态的实例
Sep 16 Javascript
jQuery实现条件搜索查询、实时取值及升降序排序的方法分析
May 04 jQuery
Vue实现按钮级权限方案
Nov 21 Javascript
小程序实现上下切换位置
Nov 16 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简单实现“相关文章推荐”功能的方法
2014/07/19 PHP
laravel 解决多库下的DB::transaction()事务失效问题
2019/10/21 PHP
激活 ActiveX 控件
2006/10/09 Javascript
基于js disabled=&quot;false&quot;不起作用的解决办法
2013/06/26 Javascript
可自己添加html的伪弹出框实现代码
2013/09/08 Javascript
Jquery中children与find之间的区别详细解析
2013/11/29 Javascript
jquery单行文字向上滚动效果的实现代码
2014/09/05 Javascript
优化RequireJS项目的相关技巧总结
2015/07/01 Javascript
jQuery实现进度条效果代码
2015/12/17 Javascript
Node.js插件安装图文教程
2016/05/06 Javascript
JavaScript中解决多浏览器兼容性23个问题的快速解决方法
2016/05/19 Javascript
JavaScript直播评论发弹幕切图功能点集合效果代码
2016/06/26 Javascript
快速解决js中window.location.href不工作的问题
2016/11/02 Javascript
详解angular element()方法使用
2017/04/08 Javascript
jQuery输入框密码的显示隐藏【代码分享】
2017/04/29 jQuery
webpack+vue-cil中proxyTable处理跨域的方法
2018/07/20 Javascript
RxJS的入门指引和初步应用
2019/06/15 Javascript
JavaScript实现的弹出遮罩层特效经典示例【基于jQuery】
2019/07/10 jQuery
微信小程序左滑删除实现代码实例
2019/09/16 Javascript
Vue跨域请求问题解决方案过程解析
2020/08/07 Javascript
[44:21]Ti4 循环赛第四日 附加赛NEWBEE vs LGD
2014/07/13 DOTA
使用pdb模块调试Python程序实例
2015/06/02 Python
举例讲解Python设计模式编程的代理模式与抽象工厂模式
2016/01/16 Python
在Python中通过threading模块定义和调用线程的方法
2016/07/12 Python
python 调用HBase的简单实例
2016/12/18 Python
用scikit-learn和pandas学习线性回归的方法
2019/06/21 Python
详解Django将秒转换为xx天xx时xx分
2019/09/27 Python
意大利体育用品和运动服网上商店:Maxi Sport
2019/09/14 全球购物
最新的咖啡店创业计划书
2013/12/30 职场文书
小学评语大全
2014/04/22 职场文书
工作保证书范文
2014/04/29 职场文书
网络优化专员求职信
2014/05/04 职场文书
暑期培训班策划方案
2014/08/26 职场文书
防止web项目中的SQL注入
2021/12/06 MySQL
我的收音机情缘
2022/04/05 无线电
Redis配置外网可访问(redis远程连接不上)的方法
2022/12/24 Redis