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

网站上传附件目录格式销售网站建设

网站上传附件目录格式,销售网站建设,网页版微信登录入口密码登录,微信平台登录简介 在vue中重用代码的方式有#xff1a;组件、组合式函数。组件是主要的构建模块#xff0c;而组合式函数更偏重于有状态的逻辑。 指令系统给我们提供了例如#xff1a;v-model、v-bind#xff0c;vue系统允许我们自定义指令#xff0c;自定义指令也是一种重用代码的方式…简介 在vue中重用代码的方式有组件、组合式函数。组件是主要的构建模块而组合式函数更偏重于有状态的逻辑。 指令系统给我们提供了例如v-model、v-bindvue系统允许我们自定义指令自定义指令也是一种重用代码的方式。自定义指令常用于封装一些普通元素的Dom底层访问逻辑。 定义 一个自定义指令由一个包含类似组件生命周期钩子的对象来定义。钩子函数会接收到指令所绑定元素作为其参数。 自定义指令的钩子函数如下 const myDirective {// 在绑定元素的 attribute 前// 或事件监听器应用前调用created(el, binding, vnode, prevVnode) {// 下面会介绍各个参数的细节},// 在元素被插入到 DOM 前调用beforeMount(el, binding, vnode, prevVnode) {},// 在绑定元素的父组件// 及他自己的所有子节点都挂载完成后调用mounted(el, binding, vnode, prevVnode) {},// 绑定元素的父组件更新前调用beforeUpdate(el, binding, vnode, prevVnode) {},// 在绑定元素的父组件// 及他自己的所有子节点都更新后调用updated(el, binding, vnode, prevVnode) {},// 绑定元素的父组件卸载前调用beforeUnmount(el, binding, vnode, prevVnode) {},// 绑定元素的父组件卸载后调用unmounted(el, binding, vnode, prevVnode) {} } 使用      下面这两个使用的例子都源自网络在原有的基础上加入了一些改动   一个小栗子使用全局自定义指令封装防抖代码段 export function preventReClick(app) {app.directive(preventReClick, {beforeMount(el, binding) {el.addEventListener(click, () {if (!el.disabled) {el.disabled truesetTimeout(() {el.disabled false}, binding.value || 3000)}})}}) } import App from ./App.vue import { preventReClick } from ./utils/directivebox;const app createApp(App)// 全局指令的挂载 preventReClick(app); templatediv classbox!-- 这里必须使用el-button因为这个防抖的功能是通过控制elementPlus中的disable属性实现的 --el-button classbtn v-preventReClick clickbuttonEvent使用全局自定义指令做防抖的处理/el-button/div /template script setuplet clickNum 0// 使用全局自定义指令处理防抖 /*运行后可以看到在连续多次点击button时3000ms后才会打印一次这个buttonEvent中的log因为在全局自定义指令中拦截了click的事件在3000ms内组件被设置为disabled的状态*/ function buttonEvent() {clickNumconsole.log(clickNum , clickNum); }/script style scoped langless .box {display: flex;flex-direction: column;.btn {padding: 20px 40px 20px 40px;background-color: aquamarine;margin-bottom: 30px;} } /style 一个小栗子使用局部自定义指令封装长按元素两秒的点击事件 export const longpress {created(el, binding, vNode) {// console.log(long press event 1);if (typeof binding.value ! function) {throw callback must be a function}// 定义变量let pressTimer null// 创建计时器 2秒后执行函数 let start (e) {if (e.type click e.button ! 0) {return}if (pressTimer null) {pressTimer setTimeout(() {handler()}, 2000)}}// 取消计时器let cancel (e) {if (pressTimer ! null) {clearTimeout(pressTimer)pressTimer null}}// 运行函数const handler (e) {binding.value(e)}// 添加事件监听器el.addEventListener(mousedown, start)el.addEventListener(touchstart, start)// 取消计时器el.addEventListener(click, cancel)el.addEventListener(mouseout, cancel)el.addEventListener(touchend, cancel)el.addEventListener(touchcancel, cancel)},// 当传进来的值更新的时候触发updated(el, { value }) {el.$value value},// 指令与元素解绑的时候移除事件绑定unmounted(el) {el.removeEventListener(click, el.handler)}, } templatediv classboxel-button classbtn v-long-presslongPressEvent使用全局自定义指令实现长按处理事件/el-button/div /template script setup import { longpress } from ./utils/derective.js// 在setup语法糖中使用v打头驼峰命名的方式声明一个局部的自定义指令 const vLongPress longpress;function longPressEvent(){console.log(button的长按点击事件); }/script style scoped langless .box {display: flex;flex-direction: column;.btn {padding: 20px 40px 20px 40px;background-color: aquamarine;margin-bottom: 30px;} } /style 小结 注意只有当所需功能只能通过直接的 DOM 操作来实现时才应该使用自定义指令。其他情况下应该尽可能地使用 v-bind 这样的内置指令来声明式地使用模板这样更高效也对服务端渲染更友好。
http://www.pierceye.com/news/23952/

相关文章:

  • 只有一个页面的网站怎么做专业建设费用怎么花
  • 做的好的音乐网站wordpress预加载
  • 怎么做网站公司宣传资料wordpress返回上一页
  • 票务网站模板软文广告代理平台
  • 佛山网站seo优化排名公司html语言做网站
  • 专门教ps的网站做商业地产常用的网站
  • 毕节市建设网站wordpress搭个人博客
  • 网站的竞价怎么做修改wordpress页脚信息
  • 兰州网站开发公司浦东做网站的公司
  • 怎么做北京赛网站一个网站如何做双语
  • 深圳网站优化排名公司linux wordpress教程
  • 基础微网站开发价位苗木门户网站模板
  • 安平县做网站的有哪些php网站开发实例教程代码
  • 购物网站建设方案ppt郑州地推公司排名
  • 外贸soho通过网站开发客户无锡低价网站排名
  • 扬州做网站公司哪家好手帐风格wordpress主题
  • flash网站策划书流量点击推广平台
  • 做网站用的语言推荐坪地网站建设
  • 黄山网站建设一个网站的建站流程
  • 徐东做网站wordpress网页打开很慢
  • 网络销售怎么做网站中山视角做网站的公司
  • 无锡整站百度快照优化帝国网站seo
  • 如何在网站上做网盘建设门户网站所需
  • 杭州四喜做网站建设么建设银行江西分行官方网站
  • 商城网站建设建议专业苏州网站建设
  • 网站开发毕设答辩学做衣服网 缤纷网站
  • 昆山网站建设哪家好在哪个网做免费网站好
  • 汽车建设网站wordpress 做商城
  • 做网站游戏需要什么金华建设局政务网站
  • 网站怎么后台登陆定制logo