当前位置: 首页 > news >正文

前端基础之《Vue(8)—内置组件》

一、Vue2.0中的内置组件

1、<slot>
插槽

2、<keep-alive>
动态组件

被keep-alive所包裹的组件:
(1)不会被销毁。
(2)还会多两个生命周期钩子:activated()、deactivated()。
(3)mounted()只执行一次,activated()、deactivated()可以执行多次。

keep-alive的属性:
include:包含在include里面的组件不会死。
exclude:包含在exclude里面的组件会死,其他都不死。

3、<component>
它的is属性,is等于谁就显示谁。
有种v-if的感觉,根据指定条件渲染目标组件,它的is属性等于哪个组件,就显示哪个组件。
它经常配合<keep-alive>一起使用。

4、<transition>

5、<transition-group>

二、keep-alive组件例子

<html>
<head><title>动态组件</title><style>.tabbar {height: 60px;line-height: 60px;display: flex;position: fixed;bottom: 0;left: 0;right: 0;}.tabbar>span {flex: 1;border: 1px solid #ccc;text-align: center;cursor: pointer;}.tabbar>span.on {color: red;}</style>
</head>
<body><div id="app"><!-- <home-1></home-1><friend-1></friend-1><user-1></user-1> --><!-- 组件不死 --><keep-alive><component :is="page"></component></keep-alive><tabbar-1 v-model="page"></tabbar-1></div><script src="https://cdn.jsdelivr.net/npm/vue@2.7.16/dist/vue.js"></script><script>const Home = {template:`<div><h1>首页</h1><input type="text" v-model="a" /></div>`,data() {return {a: 1}},mounted() {console.log('---首页挂载完成')},activated() {console.log('---首页激活')},deactivated() {console.log('---首页休眠')}}const Friend = {template:`<div><h1>好友</h1><input type="text" v-model="b" /></div>`,data() {return {b: 1}}}const User = {template:`<div><h1>个人中心</h1><input type="text" v-model="c" /></div>`,data() {return {c: 1}}}Vue.component('tabbar-1', {template: `<div class='tabbar'><span v-for='item in list' v-text='item.label' @click='$emit("input",item.tab)' :class='{on:item.tab===value}'></span></div>`,props: {value: {type: String, default:''}},data() {return {list: [{id:1, tab:'home-1', label:'首页'},{id:2, tab:'friend-1', label:'好友'},{id:3, tab:'user-1', label:'个人中心'}]}}})const app = new Vue({components: {'home-1': Home,'friend-1': Friend,'user-1': User},data() {return {page: 'home-1'}}})app.$mount('#app')</script></body>
</html>

相关文章:

  • Python文本的基本操作:with语句
  • Tomcat 8 启动闪退解决方案:版本差异与调试技巧详解
  • uv pip install 的本质是什么?
  • 08-IDEA企业开发工具-集成AI插件通义灵码
  • mybatis xml中特殊字符处理
  • Java基础:网络编程UDPTCP详解
  • Vite vs Webpack 优势对比
  • 车载信息安全架构 --- 汽车网络安全
  • 基于GA遗传优化TCN-BiGRU注意力机制网络模型的时间序列预测算法matlab仿真
  • 穿越链路的旅程:深入理解计算机网络中的数据链路层
  • WebSocket是h5定义的,双向通信,节省资源,更好的及时通信
  • 栈和队列学习记录
  • 【playwright】学习--持续汇总
  • onlyoffice历史版本功能实现,版本恢复功能,编辑器功能实现 springboot+vue2
  • 视频监控从安装到优化的技术指南,视频汇聚系统EasyCVR智能安防系统构建之道
  • 高并发下单库存扣减异常?飞算 JavaAI 自动化生成分布式事务解决方案
  • 使用Python创建带边框样式的Word表格
  • HTML+CSS对角背景变色
  • C# 中的 `lock` 关键字本质
  • Saas、Paas、Faas、Baas的概念学习与对比
  • 新《火灾统计管理规定》即将施行,火灾死亡统计时限延长
  • 魔都眼·上海车展①|开幕首日:首发首秀近百款新车
  • 王励勤谈国乒备战洛杉矶奥运会:要对六块金牌制定新的战略
  • 打造“旧书朋友圈”,“淘书乐”为旧书找“新朋友”
  • 外汇局:4月以来外汇市场交易保持平稳,跨境资金延续净流入
  • 马上评|遭强奸之后私刑报复,不属正当防卫