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

计算机机应用网站建设与维护山西省建设厅网站首页

计算机机应用网站建设与维护,山西省建设厅网站首页,网页传奇新游开服,电子商务网站开发毕业设计Vue组件进阶与自定义指令一、Vue组件进阶1.1 动态组件1.2 组件缓存1.3 组件激活和非激活1.4 组件插槽1.5 具名插槽1.6 作用域插槽1.7 作用域插槽使用场景二、自定义指令2.1 自定义指令--注册2.2 自定义指令-传参一、Vue组件进阶 1.1 动态组件 多个组件使用同一个挂载点#x… Vue组件进阶与自定义指令一、Vue组件进阶1.1 动态组件1.2 组件缓存1.3 组件激活和非激活1.4 组件插槽1.5 具名插槽1.6 作用域插槽1.7 作用域插槽使用场景二、自定义指令2.1 自定义指令--注册2.2 自定义指令-传参一、Vue组件进阶 1.1 动态组件 多个组件使用同一个挂载点并动态切换 实现流程 代码 templatedivbutton clickcomName UserName账号密码填写/buttonbutton clickcomName UserInfo个人信息填写/buttonp下面显示注册组件的动态切换/pdiv styleborder: 1px solid red;component :iscomName/component/div/div /templatescript // 目标:动态组件-切换组件显示 //1.创建要被切换的组件 - 标签样式 //2.引入到要展示的vue文件内 //3.准备一个变量承载要显示的组件名 //4.设置挂载点component :is变量/component import UserName from ../components/01/UserName.vue import UserInfo from ../components/01/UserInfo.vue export default {components: {UserInfo,UserName},data() {return {comName: UserName ,//准备一个变量}} } /script1.2 组件缓存 原因:频繁的切换会导致组件频繁创建和销毁,性能不高 语法: Vue内置的keep-alive组件 包起来要频繁切换的组件 div styleborder: 1px solid red;keep-alive!-- Vue内置组件 包起来进行缓存 --component :iscomName/component/keep-alive /div//dom更改后created() {console.log(username组件创建了);},//实例销毁destroyed() {console.log(username组件销毁了);},1.3 组件激活和非激活 扩展2个新的生命周期方法 activated -- 激活时触发deactivated -- 失去激活状态触发 //组件缓存后 多了两个钩子函数activated() {console.log(username组件激活了);},deactivated() {console.log(username组件失去激活状态);}1.4 组件插槽 通过 slot 标签, 让组件内可以接收不同的标签结构显示 语法 1.组件内使用slot/slot进行占位2.使用组件时Pannel/Pannel夹着的地方,传入标签替换slot 插槽默认内容 slot内放置内容, 作为默认显示内容不给组件传标签. slot内容原地显示给组件内传标签, 则slot整体被换掉 父组件代码 Pannelimg src../../src/assets/logo.png altspan我是图片/span /Pannel Pannelp寒雨连江夜入吴,/pp平明送客楚山孤。/pp洛阳亲友如相问,/pp一片冰心在玉壶。/p /Pannel Pannel/Pannel子组件代码 div!-- 按钮标题 --div classtitleh4芙蓉楼送辛渐/h4span classbtn clickisShow !isShow{{ isShow ? 收起 : 展开 }}/span/div!-- 下拉内容 --div classcontainer v-showisShowslot!-- 没有传则显示默认内容 --我是默认的显示内容/slot/div /div1.5 具名插槽 一个组件内有2处以上需要外部传入标签的地方 语法 1.slot使用name属性区分名字2.template配合v-slot:名字来分发对应标签 v-slot; 可以简写为# 父组件代码 Panneltemplate v-slot:titleh4芙蓉楼送辛渐/h4/templatetemplate v-slot:contentimg src../../src/assets/logo.png altspan我是图片111/span/template /PannelPanneltemplate #titleh4v-slot:可简写成#号/h4/templatetemplate #contentimg src../../src/assets/logo.png altspan我是图片222/span/template /Pannel子组件代码 div!-- 按钮标题 --div classtitleslot nametitle/slotspan classbtn clickisShow !isShow{{ isShow ? 收起 : 展开 }}/span/div!-- 下拉内容 --div classcontainer v-showisShowslot namecontent我是默认的显示内容/slot/div /div1.6 作用域插槽 在使用子组件时,父组件需要使用子组件里的变量 步骤 1.子组件, 在slot上绑定属性和子组件内的值2. 父组件, 传入自定义标签, 用template和v-slot自定义变量名3. scope变量名自动绑定slot上所有属性和值 scope {row: defaultObj} 父组件代码 Panneltemplate v-slotscope!-- scope变量{row:defaultObj} --{{ scope.row.defaultTwo }}/template /Pannel子组件代码 templatediv!-- 按钮标题 --div classtitleh4作用域插槽/h4span classbtn clickisShow !isShow{{ isShow ? 收起 : 展开 }}/span/div!-- 下拉内容 --div classcontainer v-showisShowslot :rowdefaultObj{{ defaultObj.defaultOne }}/slot/div/div /templatescript //目标:作用域 插槽 //场景:使用插槽 使用组件内的变量 //1.slot标签,自定义属性和内变量关联 //2.使用组件 template配合v-slot变量名 //变量名会收集slot身上的属性和值形成对象 export default {data() {return {isShow: false,defaultObj: {defaultOne: 无名氏,defaultTwo: 木子}};}, };1.7 作用域插槽使用场景 父组件代码 templatedivMytable :arrlist/MytableMytable :arrlist!-- scope:{row:obj} --template v-slotscopea :hrefscope.row.headImgUrl{{ scope.row.headImgUrl }}/a/template/MytableMytable :arrlisttemplate v-slotscopeimg :srcscope.row.headImgUrl alt/template/Mytable/div /templatescript import Mytable from ../components/06/MyTable.vue export default {components: {Mytable},data() {return {list: [{name: 小传同学,age: 18,headImgUrl:http://yun.itheima.com/Upload/./Images/20210303/603f2d2153241.jpg,},{name: 小黑同学,age: 25,headImgUrl:http://yun.itheima.com/Upload/./Images/20210304/6040b101a18ef.jpg,},{name: 智慧同学,age: 21,headImgUrl:http://yun.itheima.com/Upload/./Images/20210302/603e0142e535f.jpg,},],}} } /script子组件代码 templatedivtable border1theadtrth序号/thth姓名/thth年龄/thth头像/th/tr/theadtbodytr v-for(obj, index) in arrtd{{ index 1 }}/tdtd{{ obj.name }}/tdtd{{ obj.age }}/tdtd!-- 标签不确定 slot插槽占位 --!-- 默认显示文字 --slot :rowobj{{ obj.headImgUrl }}/slot/td/tr/tbody/table/div /templatescript export default {props: {arr: Array} } /script二、自定义指令 2.1 自定义指令–注册 获取标签, 扩展额外的功能 全局注册 main.js //全局指令 到处直接使用 Vue.directive(gfocus, {inserted(el) {console.log(el, el);el.focus(); //触发标签的事件方法} })局部注册 directives: {focus: {inserted(el) {el.focus()}}},使用 v-指令名 input v-focus typetext2.2 自定义指令-传参 语法 //注意:inserted方法 指令所在标签,被插入到网页上才会触发(一次) //update方法 指令对应数据/标签更新时,此方法执行 //目标:自定义指令全局 传值 Vue.directive(color, {inserted(el, binding) {console.log(binding, binding);el.style.color binding.value},update(el, binding) {el.style.color binding.value} })
http://www.hkea.cn/news/14419642/

相关文章:

  • html5微网站源码常用来做网站首业的是
  • 网站建设费用申请报告怎么做国内网站吗
  • 河南郑州做网站汉狮国际型网站建设
  • 制作网站的app婚礼设计方案网站
  • 长沙做网站seo优化外包如何做楼盘网站
  • 做招工的网站排名网站建设及推广图片
  • 免费做产品画册的网站ps网站首页设计图制作教程
  • 网站建设乚金手指花总15现在做个网站要多少钱
  • wordpress网站数据迁移小企业公司网站建设
  • wordpress加速网站插件wordpress 获取插件目录
  • 响应式网站的优点南京成旭通网站建设公司怎么样
  • 如何申请网站空间更改网站模板内容
  • 建设班级网站过程加氢站个公司好
  • wordpress站群教程小猫济南网站建设公司
  • 住房和城乡建设部网站安全分会phpmysql网站开发项目式教程
  • 厦门建设企业网站建设中国建设银行黄冈分行网站
  • 大庆做网站公司wordpress 安装第二步
  • 网站开发人员趋势济宁亿峰科技做网站一年多少费用
  • 做注册任务网站源码许昌北京网站建设
  • 前端手机网站一个网站开发流程
  • 朝阳网站关键词优化织梦网站查看原有文章
  • 网站建设师要求制作网站价格
  • 深圳网站设计公司哪家专业wordpress 搜索出图片
  • 终身免费网站建设阿里云怎么创建网站
  • 网站建设沛宣如何优化网页加载速度
  • 淘宝网商务网站建设目的织梦可以放两个网站
  • 青岛高创网站建设福建永安建设局网站
  • 网站策划的重要性网站自定义301
  • 外贸网站seo推广教程网络推广有什么技巧没
  • 新的网站怎么推广广告设计公司有什么岗位