当前位置: 首页> 文旅> 旅游 > 正规的报价单格式_庆阳网红_网络营销都有哪些形式_宣传推广渠道有哪些

正规的报价单格式_庆阳网红_网络营销都有哪些形式_宣传推广渠道有哪些

时间:2025/7/14 2:22:55来源:https://blog.csdn.net/weixin_55932347/article/details/144402325 浏览次数:0次
正规的报价单格式_庆阳网红_网络营销都有哪些形式_宣传推广渠道有哪些

1. 递归组件

递归方式渲染嵌套的菜单项,这个是非常好的做法。为了避免在每个子菜单上都渲染一个新的 <ul> 标签,可以使用 v-if 来判断是否有子菜单,再决定是否渲染子菜单的部分。

2. 提高性能

对于递归渲染组件,Vue 可能会频繁地进行组件的重新渲染,尤其是菜单项很多的情况下,性能可能会受到影响。为了优化性能,可以通过 v-show 或者 v-forkey 来提高渲染效率。

3. 增强可维护性和可扩展性

  • 使用 v-bind 来动态绑定 key,避免手动绑定 key="item.id"
  • 使用 scoped CSS 来避免样式污染。

优化后的代码如下:

1. 模板部分(<template>
<template><div><ul><MenuItem v-for="item in menu" :key="item.id" :item="item" /></ul></div>
</template>
2. 子组件部分(MenuItem.vue

为了实现递归,我们可以将渲染菜单项的逻辑提取到一个子组件 MenuItem 中。

<template><li>{{ item.name }}<ul v-if="item.children && item.children.length > 0"><MenuItemv-for="child in item.children":key="child.id":item="child"/></ul></li>
</template><script>
export default {props: {item: Object}
};
</script>
3. 主组件部分(<script>

在主组件中,直接引入并使用 MenuItem 组件:

<script>
import MenuItem from './MenuItem.vue';export default {components: {MenuItem},data() {return {menu: [{id: 1,name: "主菜单1",children: [{id: 11,name: "子菜单1-1",children: []},{id: 12,name: "子菜单1-2",children: [{id: 121,name: "子菜单1-2-1",children: []}]}]},{id: 2,name: "主菜单2",children: []}]};}
};
</script>

4. 样式优化(<style scoped>

可以使用 scoped 样式来局部控制样式,防止样式污染到其他组件。

<style scoped>
ul {list-style-type: none;padding-left: 20px;
}li {padding: 5px;cursor: pointer;
}li:hover {background-color: #f0f0f0;
}
</style>

5. 性能考虑:

  • 在递归渲染时,应该确保每个 liul 都有唯一的 key,这样Vue可以高效地管理DOM更新。
  • 如果菜单数据较大,可以使用虚拟化技术(如vue-virtual-scroller)来优化渲染性能。
关键字:正规的报价单格式_庆阳网红_网络营销都有哪些形式_宣传推广渠道有哪些

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: