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库的最佳方法详细说明及实现代码
Dec 28 Javascript
js/jquery获取文本框输入焦点的方法
Mar 04 Javascript
JavaScript检测鼠标移动方向的方法
May 22 Javascript
微信小程序 label 组件详解及简单实例
Jan 10 Javascript
JavaScript中利用构造器函数模拟类的方法
Feb 16 Javascript
利用node.js实现自动生成前端项目组件的方法详解
Jul 12 Javascript
React Native中TabBarIOS的简单使用方法示例
Oct 13 Javascript
详解Angular如何正确的操作DOM
Jul 06 Javascript
JS打印彩色菱形的实例代码
Aug 15 Javascript
jQuery选择器选中最后一个元素,倒数第二个元素操作示例
Dec 10 jQuery
vue.js中ref和$refs的使用及示例讲解
Aug 14 Javascript
微信小程序实现翻牌抽奖动画
Sep 21 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操作文件方法问答
2007/03/16 PHP
PHP empty函数报错解决办法
2014/03/06 PHP
php操作redis缓存方法分享
2015/06/03 PHP
兼容多浏览器的iframe自适应高度(ie8 、谷歌浏览器4.0和 firefox3.5.3)
2009/11/04 Javascript
javascript 拖放效果实现代码
2010/01/22 Javascript
jQuery对象和DOM对象之间相互转换的方法介绍
2015/02/28 Javascript
JS组件系列之使用HTML标签的data属性初始化JS组件
2016/09/14 Javascript
JavaScript中省略元素对数组长度的影响
2016/10/26 Javascript
JS 实现可停顿的垂直滚动实例代码
2016/11/23 Javascript
jquery设置css样式的多种方法(总结)
2017/02/21 Javascript
详解React Native 屏幕适配(炒鸡简单的方法)
2018/06/11 Javascript
基于D3.js实现时钟效果
2018/07/17 Javascript
当vue路由变化时,改变导航栏的样式方法
2018/08/22 Javascript
layui-laydate时间日历控件使用方法详解
2018/11/15 Javascript
vue中利用Promise封装jsonp并调取数据
2019/06/18 Javascript
Flutter实现仿微信底部菜单栏功能
2019/09/18 Javascript
vue 实现特定条件下绑定事件
2019/11/09 Javascript
详解vue beforeEach 死循环问题解决方法
2020/02/25 Javascript
jquery绑定事件 bind和on的用法与区别分析
2020/05/22 jQuery
详解JS深拷贝与浅拷贝
2020/08/04 Javascript
JS绘图Flot应用图形绘制异常解决方案
2020/10/16 Javascript
uni-app实现获取验证码倒计时功能
2020/11/01 Javascript
python创建列表并给列表赋初始值的方法
2015/07/28 Python
VSCode下好用的Python插件及配置
2018/04/06 Python
django 修改server端口号的方法
2018/05/14 Python
python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法
2019/07/11 Python
Python更改pip镜像源的方法示例
2020/12/01 Python
CSS3的一个简单导航栏实现
2015/08/03 HTML / CSS
HTML5 本地存储 LocalStorage详解
2016/06/24 HTML / CSS
劳动工资科岗位职责范本
2014/03/02 职场文书
大学生评语大全
2014/04/18 职场文书
文明演讲稿范文
2014/05/12 职场文书
房展策划方案
2014/06/07 职场文书
大学生年度个人总结
2015/02/15 职场文书
2015年学校体育工作总结
2015/04/22 职场文书
让生命充满爱观后感
2015/06/08 职场文书