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 相关文章推荐
捕获浏览器关闭、刷新事件不同情况下的处理方法
Jun 02 Javascript
JQuery异步加载无限下拉框级联功能实现示例
Feb 19 Javascript
jQuery动态星级评分效果实现方法
Aug 06 Javascript
jQuery实现ctrl+enter(回车)提交表单
Oct 19 Javascript
原生js实现自由拖拽弹窗代码demo
Jun 29 Javascript
jQuery解析XML 详解及方法总结
Sep 28 Javascript
利用fecha进行JS日期处理
Nov 21 Javascript
解决vue+webpack打包路径的问题
Mar 06 Javascript
vue 动态绑定背景图片的方法
Aug 10 Javascript
AngularJS中ng-options实现下拉列表的数据绑定方法
Aug 13 Javascript
Vue实现美团app的影院推荐选座功能【推荐】
Aug 29 Javascript
vue + elementUI实现省市县三级联动的方法示例
Oct 29 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书写安全的脚本代码
2012/02/05 PHP
Thinkphp微信公众号支付接口
2016/08/04 PHP
Iframe自适应高度绝对好使的代码 兼容IE,遨游,火狐
2011/01/27 Javascript
Javascript 面试题随笔
2011/03/31 Javascript
js 获取class的元素的方法 以及创建方法getElementsByClassName
2013/03/11 Javascript
JavaScript中的Web worker多线程API研究
2014/12/06 Javascript
js获取元素外链样式的方法
2015/01/27 Javascript
jQuery模拟黑客帝国矩阵效果实例
2015/06/28 Javascript
javascript css红色经典选项卡效果实现代码
2016/05/17 Javascript
jQuery设置和获取select、checkbox、radio的选中值方法
2017/01/01 Javascript
js阻止移动端页面滚动的两种方法
2017/01/25 Javascript
用js制作淘宝放大镜效果
2020/10/28 Javascript
jQuery文字轮播特效
2017/02/12 Javascript
angular.JS实现网页禁用调试、复制和剪切
2017/03/31 Javascript
jquery.validate.js 多个相同name的处理方式
2017/07/10 jQuery
vue实现留言板todolist功能
2017/08/16 Javascript
angular内置provider之$compileProvider详解
2017/09/27 Javascript
Nodejs 和 Electron ubuntu下快速安装过程
2018/05/04 NodeJs
javascript显示动态时间的方法汇总
2018/07/06 Javascript
解决layui 复选框等内置控件不显示的问题
2018/08/14 Javascript
详解Vue CLI3配置解析之css.extract
2018/09/14 Javascript
webpack 最佳配置指北(推荐)
2020/01/07 Javascript
Vue-router编程式导航的两种实现代码
2021/03/04 Vue.js
[01:13]DOTA2群星解读国服召集令 一起说出回归的理由
2013/07/17 DOTA
[03:10]超级美酒第四天 fy拉比克秀 大合集
2018/06/05 DOTA
python控制台中实现进度条功能
2015/11/10 Python
Django视图和URL配置详解
2018/01/31 Python
python取数作为临时极大值(极小值)的方法
2018/10/15 Python
Tensorflow分批量读取数据教程
2020/02/07 Python
Cotton On香港网站:澳洲时装连锁品牌
2018/11/01 全球购物
如何进行Linux分区优化
2013/02/12 面试题
专科应届生求职信
2013/11/24 职场文书
食品采购员岗位职责
2014/04/14 职场文书
2016年社会管理综治宣传月活动总结
2016/03/16 职场文书
Golang 编译成DLL文件的操作
2021/05/06 Golang
MYSQL(电话号码,身份证)数据脱敏的实现
2021/05/28 MySQL