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

哪里有做企业网站的广东省建设工程规范文件网站

哪里有做企业网站的,广东省建设工程规范文件网站,做网站的内容资源,磁力宅什么是指令 在Vue中提供了一套为数据驱动视图更为方便的操作#xff0c;这些操作被称为指令系统。我们看到的v-来头的行内属性#xff0c;都是指令#xff0c;不同的指令可以完成或者实现不同的功能。 除了核心功能默认内置的指令#xff08;v-model和v-show#xff09;…什么是指令 在Vue中提供了一套为数据驱动视图更为方便的操作这些操作被称为指令系统。我们看到的v-来头的行内属性都是指令不同的指令可以完成或者实现不同的功能。 除了核心功能默认内置的指令v-model和v-showVue也允许注册自定义指令 指令使用的几种方式 //会实例化一个指令但这个指令没有参数 v-xxx// -- 将值传到指令中 v-xxxvalue // -- 将字符串传入到指令中如v-htmlp内容/p v-xxxstring // -- 传参数arg如v-bind:classclassName v-xxx:argvalue // -- 使用修饰符modifier v-xxx:arg.modifiervalue 如何实现 注册一个自定义指令类似于组件注册分为全局注册和局部注册。 全局注册Vue.directive局部注册组件directives属性 举例如下 Vue.directive第一个参数是指令的名字不需要加上v-前缀第二个参数可以是一个对象也可以是一个指令函数 Vue.directive(focus,{inserted:function(el){// 聚焦元素el.focus();//页面加载完成之后自动让输入框获取到焦点的小功能} }) 局部注册通过在组件options选项中设置directive属性 directive:{// 指令的定义focus:{inserted:function(el){el.focus()}} } 然后可以在模板中任何元素上使用v-focus指令如下 input v-focus / 自定义指令也想组件一样存在钩子函数 bind只调用一次指令第一次绑定到元素时调用。这里可以进行一次性的初始化设置inserted被绑定的元素插入父节点时调用仅保证父节点存在但是不一定已经被插入到文档中update所有组件VNode更新时调用但是可能发生在其子VNode更新之前。指令的值可能发生了改变也可能没有。这里你可以通过比较更新前后的值来忽略不必要的模板更新componentUpdate指令所在组件的VNode及其子VNode全部更新后调用unbind只调用一次指令与元素解绑时调用 所有钩子函数的参数都有以下 el指令所绑定的元素可以用来直接操作DOMbinding一个对象包含以下property name指令名不包含v-前缀value指令的绑定值例如v-my-directive“11”中绑定值为2。oldValue指令绑定的前一个值 仅在update和componentUpdate钩子中可用。无论值是否改变都可用。expression字符串形式的指令表达式。例如v-my-directive11中表达式为“11”arg传给指令的参数可选例如v-my-directive:foo中参数为“foo”modifiers一个包含修饰符的对象。例如v-my-directive.foo.bar中修饰符对象为{ foo: true, bar: true }vnodeVue编译生成的虚拟节点oldVnode上一个虚拟节点仅在update和componentUpdate钩子可用 注意除了el之外其他参数都应该是只读的切勿进行修改。如果需要再钩子之间共享数据建议通过元素的dataset来进行。 举个栗子 div v-demo{ color: white, text: hello! }/div scriptVue.directive(demo, function (el, binding) {console.log(binding.value.color) // whiteconsole.log(binding.value.text) // hello!}) /script 应用场景 使用自定义指令可以满足我们的日常一些场景这里我列举几个我在项目中用到的自定义指令 表单防止重复提交一键copy的功能 防止表单重复提交 Vue.directive(throttle, {inserted(el, binding) {// 获取指令参数时间没有则默认赋值为2000let throttleTime parseInt(binding.value) || 2000el.addEventListener(click, () {// 第一次执行if (!el.disabled) {// 如果是第一次执行则表示可以进行点击操作el.disabled truesetTimeout(() {el.disabled false}, throttleTime)}})} })// 2.为button标签设置v-throttle自定义指令 Button sizelarge typesuccess v-throttle5000新增/Button 一键复制功能 // 一键复制自定义指令 Vue.directive(copy, {// 选取文本框内容// 执行浏览器复制命令// 复制命令会将当前选中的内容复制到剪切板中这里就是创建的input标签// Input要在正常的编辑状态下原生复制方法才会生效inserted (el, binding) {if (!binding.value) {Message.error(请传入需要复制的内容)return}el.addEventListener(click, () {console.log(binding.value, binding.value) // 模拟输入框let cInput document.createElement(input)if (binding.value.newAccount ) {cInput.value 密码 binding.value.newPassword} else {cInput.value 企业名称${binding.value.newCompanyName} , 用户名${binding.value.newWebAccount} , 密码${binding.value.newPassword};}document.body.appendChild(cInput);cInput.select();document.execCommand(copy);Message.success(复制成功)document.body.removeChild(cInput);this.dialogVisible false;// 这个根据自己业务自定义Vue.prototype.$emit(afterComfirm);})},componentUpdated(el, { value }) {el.$value value;}, })// 为button标签设置v-copy自定义指令 Button sizelarge typesuccess v-copyinfoObj新增/Button// 其中infoObj如下 infoObj:{newPassword:this.newPassword,newAccount:this.newAccount... }// 后面可以扩展将字段为传入的字段不要写死
http://www.pierceye.com/news/286751/

相关文章:

  • 天津网站建设学习电子商务企业网站建设实训报告
  • 怎么让网站收录在google怎么免费安装wordpress主题
  • 在windows2003上做网站浙江网
  • 宣威网站wordpress把logo变大
  • 网站设计模式有哪些商城网站营销方案
  • mvc做的网站wordpress 新建php文件
  • 西安网站seo外包个人开发者
  • 注册网站需要visa怎么办济宁万达网站建设
  • niche网站建设wordpress安装文本编辑器
  • 网站建设三种方法免费的导航页
  • 微信到wordpress杭州网站怎么做seo
  • 沙田镇仿做网站网站加速器quickq
  • 武进网站建设医药公司网站建设
  • 专业做网站建设广告设计网站素材
  • 成都建设银行保安招聘网站深圳做兼职的网站设计
  • 做网站如何找广告商湖南网站建设kaodezhu
  • 宁波专业的网站搭建公司天津网站建设技术托管
  • 做水果网站特点分析报告怎样在百度上注册自己的公司
  • 800元五合一建站上海企业排行榜
  • 学校建设网站前的市场分析上海到北京火车时刻表查询
  • 科技企业网站设计网站开发费如何入账
  • 网站主体必须要与域名注册人相同网页设计尺寸标准
  • wordpress建淘宝客网站吗网站建设与维护技术浅谈论文
  • 网站建设 技术方案网站建设的指导书
  • ps网站首页怎么做google 浏览器
  • 网站建设数据库软件制作公司宣传片哪家好
  • 高端建站模版大兴模版网站建设哪家好
  • 帝国cms怎样做网站迁移西安网站设计公司排名
  • 网站建设三折页做僾网站
  • 长沙的网站建设公司上海做网站的哪家好