【Vue.js 入门与实战】--指令-使用钩子函数的第二个binding参数拿到传递的值

简介: 一、自定义指令二、自定义字体颜色三、函数参数

指令-使用钩子函数的第二个binding参数拿到传递的值

 

目录

一、自定义指令

二、自定义字体颜色

三、函数参数

 

一、自定义指令

如果想要搜索框颜色发生改变,这是需要找到以下自定义指令

<input type=”text”class=”form-control”v-model=”keywords”id=”search”v-focus v-color>

//自定义一个设置字体颜色的指令:

Vue.directive('color',{

bind:function (el) {

el.style.color =’red’

}

})

设置样式的时候,不需要考虑有没有插入到DOM中,只要把样式通过指令绑定给元素,元素一旦被浏览器解析,无论这个元素是否被插入到页面中去,这个元素肯定有了一个内联的样式,元素一定会显示到页面中,浏览器的渲染引擎必然会解析样式,应用给元素。


演示效果:

image.png

bind:function(el){

el.focus()

}

inserted: function(el){

el.focus()

}

inserted ,元素从内存渲染到页面上时立即调用 focus 这时在页面中才能获得焦点。在 bind 中元素一加载到内存中,一绑定focus 指令,就会立即调用bind,这是在内存中调用 bind


js 有关的操作最好在 inserted 执行,防止 js 行为不生效。和样式相关的操作一般都可以在 bind 中执行

 

二、自定义字体颜色

上面的是把字体设置成了红色,如果想要自定义颜色,则需要:


<input type=”text”class=”form-control”v-model=”keywords”id=”search”v-focus v-color=”’blue’”>

//blue加单引号表示字符串,不加单引号表示为变量

bind:function (el,binding) {//自定义指令时,通过 binding 拿到值。

el.style.color =’red’

}

 

三、函数参数

钩子函数被赋予了以下参数:

el:指令所绑定的元素,可以用来直接操作DOM

binding:一个对象,包含以下属性:

1.name:指令名,不包括 v-前缀。

Vue.directive(‘color’,{

Bind:fuctione1binding){

e1.style.color='red'

Console.log(binding.name

image.png

此时显示的color就是我们制定的名称


2.value:指令的绑定值,例如:v-my-directive-"1+1”value 的值是2。如果获取原始的值,可使用 expression 方法。


3.expression:绑定值的字符串形式,例如:v-my-directive="1+1”,expression的值是"1+1”


4.arg:传给指令的参数,例如v-my-directive:fooarg的值是:’foo’

举例:

要获取

Console.log(binding.value)

Console.log(binding.expression)

image.png

可以看到,上面是bule,下面是字符串,所以我们需要用value

<input type=”text”class=”form-control”v-model=”keywords”id=”search”v-focus v-color=”’blue’”>中的blue,代码演示:

Bind:functionel binding{

el.style.color= binding. Value

}

})

其中把blue换成yellow,或者green尝试,发现可以变换成黄色和绿色,即以上代码正确无误。

 

 

相关文章
|
1月前
|
前端开发 机器人 API
前端大模型入门(一):用 js+langchain 构建基于 LLM 的应用
本文介绍了大语言模型(LLM)的HTTP API流式调用机制及其在前端的实现方法。通过流式调用,服务器可以逐步发送生成的文本内容,前端则实时处理并展示这些数据块,从而提升用户体验和实时性。文章详细讲解了如何使用`fetch`发起流式请求、处理响应流数据、逐步更新界面、处理中断和错误,以及优化用户交互。流式调用特别适用于聊天机器人、搜索建议等应用场景,能够显著减少用户的等待时间,增强交互性。
319 2
|
1月前
|
自然语言处理 JavaScript 前端开发
深入理解JavaScript中的闭包:原理与实战
【10月更文挑战第12天】深入理解JavaScript中的闭包:原理与实战
|
29天前
|
JavaScript
Vue 指令速查表
【10月更文挑战第12天】Vue 指令速查表
|
18天前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
|
18天前
|
移动开发 前端开发 JavaScript
前端实训,刚入门,我用原生技术(H5、C3、JS、JQ)手写【网易游戏】页面特效
于辰在大学期间带领团队参考网易游戏官网的部分游戏页面,开发了一系列前端实训作品。项目包括首页、2021校园招聘页面和明日之后游戏页面,涉及多种特效实现,如动态图片切换和人物聚合效果。作品源码已上传至CSDN,视频效果可在CSDN预览。
29 0
前端实训,刚入门,我用原生技术(H5、C3、JS、JQ)手写【网易游戏】页面特效
|
26天前
|
监控 前端开发 JavaScript
React 静态网站生成工具 Next.js 入门指南
【10月更文挑战第20天】Next.js 是一个基于 React 的服务器端渲染框架,由 Vercel 开发。本文从基础概念出发,逐步探讨 Next.js 的常见问题、易错点及解决方法,并通过具体代码示例进行说明,帮助开发者快速构建高性能的 Web 应用。
67 10
|
24天前
|
数据采集 存储 JavaScript
如何使用Puppeteer和Node.js爬取大学招生数据:入门指南
本文介绍了如何使用Puppeteer和Node.js爬取大学招生数据,并通过代理IP提升爬取的稳定性和效率。Puppeteer作为一个强大的Node.js库,能够模拟真实浏览器访问,支持JavaScript渲染,适合复杂的爬取任务。文章详细讲解了安装Puppeteer、配置代理IP、实现爬虫代码的步骤,并提供了代码示例。此外,还给出了注意事项和优化建议,帮助读者高效地抓取和分析招生数据。
如何使用Puppeteer和Node.js爬取大学招生数据:入门指南
|
28天前
|
JavaScript 前端开发 开发者
探索JavaScript原型链:深入理解与实战应用
【10月更文挑战第21天】探索JavaScript原型链:深入理解与实战应用
31 1
|
21天前
|
前端开发 JavaScript
JavaScript新纪元:ES6+特性深度解析与实战应用
【10月更文挑战第29天】本文深入解析ES6+的核心特性,包括箭头函数、模板字符串、解构赋值、Promise、模块化和类等,结合实战应用,展示如何利用这些新特性编写更加高效和优雅的代码。
39 0
|
27天前
|
JavaScript UED
"Vue实战技巧大揭秘:一招解决路由跳转页面不回顶部难题,让你的单页面应用用户体验飙升!"
【10月更文挑战第23天】在Vue单页面应用中,点击路由跳转时,默认情况下页面不会自动滚动到顶部,这可能影响用户体验。本文通过一个新闻网站的案例,介绍了如何使用Vue-router的全局前置守卫和`scrollBehavior`方法,实现路由跳转时页面自动滚动到顶部的功能,提升用户浏览体验。
58 0
下一篇
无影云桌面