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 实现无缝滚动 兼容IE和FF
Jul 15 Javascript
三级下拉菜单的js实现代码
May 23 Javascript
jQuery实现带滚动线条导航效果的方法
Jan 30 Javascript
JavaScript实现简单的数字倒计时
May 15 Javascript
jQuery通用的全局遍历方法$.each()用法实例
Jul 04 Javascript
JS控制静态页面传递参数并获取参数应用
Aug 10 Javascript
js在ie下打开对话窗口的方法小结
Oct 24 Javascript
微信小程序入门教程
Nov 18 Javascript
jquery实现左右轮播图效果
Sep 28 jQuery
javascript自定义右键菜单插件
Dec 16 Javascript
在pycharm中开发vue的方法步骤
Mar 04 Javascript
详解js中的原型,原型对象,原型链
Jul 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 $_SERVER详解
2009/01/16 PHP
php适配器模式介绍
2012/08/14 PHP
PHP中array_map与array_column之间的关系分析
2014/08/19 PHP
PHP入门教程之会话控制技巧(cookie与session)
2016/09/11 PHP
php与python实现的线程池多线程爬虫功能示例
2016/10/12 PHP
JavaScript中的null和undefined解析
2012/04/14 Javascript
node.js中的fs.lchownSync方法使用说明
2014/12/16 Javascript
JS操作HTML自定义属性的方法
2015/02/10 Javascript
使用jquery实现仿百度自动补全特效
2015/07/23 Javascript
require.js+vue开发微信上传图片组件
2016/10/27 Javascript
基于vue.js实现图片轮播效果
2016/12/01 Javascript
ES6 javascript中Class类继承用法实例详解
2017/10/30 Javascript
React Native 截屏组件的示例代码
2017/12/06 Javascript
Javascript实现一朵从含苞到绽放的玫瑰
2019/03/30 Javascript
JS动态图片的实现方法完整示例
2020/01/13 Javascript
vue 实现在同一界面实现组件的动态添加和删除功能
2020/06/16 Javascript
nuxt 页面路由配置,主页轮播组件开发操作
2020/11/05 Javascript
详解Python中contextlib上下文管理模块的用法
2016/06/28 Python
非递归的输出1-N的全排列实例(推荐)
2017/04/11 Python
Django中Forms的使用代码解析
2018/02/10 Python
Python实现的网页截图功能【PyQt4与selenium组件】
2018/07/12 Python
对Django项目中的ORM映射与模糊查询的使用详解
2019/07/18 Python
python中bs4.BeautifulSoup的基本用法
2019/07/27 Python
一行Python代码过滤标点符号等特殊字符
2019/08/12 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
2020/08/17 Python
如何利用Python写个坦克大战
2020/11/18 Python
实例教程 HTML5 Canvas 超炫酷烟花绽放动画实现代码
2014/11/05 HTML / CSS
TripAdvisor西班牙官方网站:全球领先的旅游网站
2018/01/10 全球购物
外贸主管求职简历的自我评价
2013/10/23 职场文书
园林技术个人的自我评价
2014/01/08 职场文书
幼儿园教研活动方案
2014/01/19 职场文书
2015年国庆节活动总结
2015/03/23 职场文书
幼儿园小班教师随笔
2015/08/14 职场文书
《童年的发现》教学反思
2016/02/18 职场文书
《攀登者》:“海拔8000米以上,你不能指望任何人”
2019/11/25 职场文书
浅谈 JavaScript 沙箱Sandbox
2021/11/02 Javascript