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

个人淘宝客网站高校门户网站建设

个人淘宝客网站,高校门户网站建设,视频转网址在线生成,上海招标网站自定义指令 像 v-html,v-if,v-for都是vue内置指令,而我们也可以封装自定义指令,提升编码效率。 什么是自定义指令? 自己定义的一些指令,可以进行一些dom操作,扩展格外的功能。比如让图片懒加载…

自定义指令

像 v-html,v-if,v-for都是vue内置指令,而我们也可以封装自定义指令,提升编码效率。

什么是自定义指令?
自己定义的一些指令,可以进行一些dom操作,扩展格外的功能。比如让图片懒加载,让input自动聚焦。
自定义指令又分为全局注册和局部注册。
在这里插入图片描述
使用方法则是与内置指令一样,直接在标签上写v-指令名即可。
在这里插入图片描述
全局注册指令
在main.js中为vue对象添加:

//focus是指令名称
Vue.directive('focus',{
//inserted是指令的生命周期函数,指再页面中插入此元素时调用inserted(el){
//为元素聚焦el.focus()}
} 
)

使用直接在标签上面写v-指令名称即可:

    <input  type="text" v-focus :value="msg"  ref="inp">

局部注册与使用

<template><div><!-- 添加v-指令名称 v-focus --><input  type="text" v-focus :value="msg"  ref="inp"></div>
</template><script>
export default {data(){return{}},props:{msg:String},mounted(){},//在directives中写指令directives:{//指令名称"focus":{//在指令被插入到页面中时调用inserted(el){//el代表内添加v-focus的元素,为它聚焦    el.focus()}}}
}
</script>

实现一个自定义指令

定义一个color指令为标签修改颜色,color指令需要一个颜色值,传入不同的值,标签文字显示不同颜色
通过binding.value可以取到当前指令的值,再通过value去修改标签。
代码:

<template><div><div v-color="color1">你好 vue</div>  <div v-color="color2">你好 vue</div>  </div>
</template><script>
export default {data(){return{color1:'red',color2:'blue'}},props:{msg:String},mounted(){},//在directives中写指令directives:{//指令名称"color":{//在指令被插入到页面中时调用inserted(el,binding){//el代表内添加v-color的元素,为它添加字体颜色  el.style.color=binding.value},//在属性值更新时调用update(el,binding){//为color更新颜色el.style.color=binding.value},}}
}
</script>

效果:
在这里插入图片描述
其中修改data的color1和color2就会修改字体颜色。
总结:
在这里插入图片描述

v-loading指令封装

在这里插入图片描述
分析:

1.本质loading 效果就是一个蒙层,盖在了盒子上
2.数据请求中,开启loading状态,添加蒙层
3.数据请求完毕,关闭loading状态,移除蒙层

具体步骤实现:
1.准备一个loading 类,通过伪元素定位,设置宽高,实现蒙层

.loading:before {content: "";position: absolute;left: 0;top: 0;width: 100%;height: 100%;background:#fff url('./assets/91jiazai.png') no-repeat center;
}

2.开启关闭 loading 状态(添加移除蒙层),本质只需要添加移除类即可

export default {name: "App",data() {return {//显示内容msg: "你好!vue",//判断是否加载成功isloading:true};},created(){//模拟发送请求,返回数据花费了3秒钟setTimeout(() => {console.log(this.msg);//接收数据成功,将数据改为false显示页面this.isloading = false;}, 3000);},//在directives中写指令directives:{//指令名称"loading":{inserted(el,binding){//如果值为true添加伪类 ,否则不添加binding.value?el.classList.add('loading'):el.classList.remove('loading')},update(el,binding){//如果值为true添加伪类 ,否则不添加binding.value?el.classList.add('loading'):el.classList.remove('loading')}}}
};

3.结合自定义指令的语法进行封装复用
为标签添加v-loading = “数据”

<template><div id="app"><div class="box" v-loading="isloading">{{ msg }}</div>
</div>
</template>

效果进入页面时:
在这里插入图片描述
模拟请求完成之后:
在这里插入图片描述

http://www.15wanjia.com/news/167018.html

相关文章:

  • 汕头中文建站模板小程序有哪些开发平台
  • 网站策划书我与音乐所有关键词
  • 东莞品牌网站制作公司什邡网站建设
  • 网站开发软件平台有哪些室内设计好学吗
  • 邯郸网站设计怎么用wordpress语言文件编辑
  • 优秀的定制网站建设服务商怎样申请自己的网址
  • pc 手机自适应网站用什么做财经大学网站建设
  • 青浦专业网站建设食品公司网站建设
  • 网站建设找睿智骄阳wordpress安装包
  • 做公司网站需要注意哪些百度刷seo关键词排名
  • 网站开发培训学费南阳卧龙区2015网站建设价格
  • 妇女儿童心理咨询网站建设深圳最好的营销网站建设公司
  • 物流网站做代理ipad做网站服务器
  • 佛山顺德网站制作公司wordpress中文免费模板下载地址
  • 网站建设多少钱一平米网站建设时设置语言选项
  • 四川省住房城乡建设厅网站首页iis 网站 起不来 temp文件夹
  • php网站源码建设教程长春建站优化加徽信xiala5
  • 如何设计营销型网站建设做网站用哪里的服务器比较好
  • 学院网站建设管理北京旗网站制作
  • 网站没有内容 能做优化吗中山市规划建设局网站
  • 南京网站制作网页美食网站网站建设定位
  • 出版社网站必须做企业可信认证嘛网站开发主管要做什么
  • 关于营销的网站有哪些秦皇岛手机网站制作费用
  • 网站建设赋值noren wordpress
  • 做那个网站比较好大气的化妆品网站名
  • 河北中保建设集团网站我的长沙app是哪里开发的
  • 移动开发和网站开发有app怎么做网站
  • 视频网站闪图怎么做网站建设工程设计图
  • 儿童摄影网站源码微信小程序营销推广
  • 亿恩 网站备案wordpress 多用户商城