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

计算机机应用网站建设与维护电商自学网

计算机机应用网站建设与维护,电商自学网,烟台中企动力提供网站建设,centos wordpress 安装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/14299502/

相关文章:

  • 建设明星网站的目的高校信息化建设网站系统微信
  • 响应式相册网站模板企业管理软件系统
  • 开篇网站推广深圳百度总部
  • 无锡百度竞价推广学习网站建设优化
  • 网站收录平台方法哪些做直播卖食品的网站有哪些
  • 三明网站seo汉化wordpress插件
  • 网站怎么做可以合法让别人充钱可以生成静态网站源码
  • 校园网站建设 方案论证深圳公司网站建设服务为先
  • 视频网站开发的论文响应式网站开发现状
  • 网站登录密码忘记了怎么办网站建站合同
  • 网站模板建设二级目录现在有人还做网站吗
  • 国通快速建站给公司网站做seo
  • 网站虚拟服务器宁波网络公司做网站
  • 济宁建站公司建网站能赚钱吗赚多少
  • 网站建设 流程高端网站设计制作
  • 网站开发外文参考文献上海个人网站制作公司
  • 自己做的工艺品在哪个网站上可以卖织梦网站地图生成
  • 国内最大网站制作公司定制营销型网站公司
  • 科技网站制作推广app怎么做
  • 北京工程建设信息网站上海备案证查询网站查询网站查询系统
  • 现在流行什么做网站wordpress教程 ppt
  • 茂名营销网站开发做网站的步骤是什么
  • 苏州微网站制作网站布局 种类
  • 弄个做网站公司上市装修公司排名前十强
  • 太平洋网站建设中国建设项目招标网站
  • 温州网站建设团队弄一个微信小程序多少钱
  • 可以购买网站空间的网站网站做广告的好处
  • 网站建设公司圣辉友联黑马程序员上海校区
  • 上市公司网站建设要求重庆石桥铺网站建设公司
  • 织梦网站栏目不能更新同步wordpress文章