MST

星途 面试题库

面试题:Vue自定义指令中如何获取绑定元素及绑定值

在Vue中自定义一个指令v - myDirective,要求在指令的bind钩子函数中能够获取到绑定的DOM元素以及绑定的值,并将绑定的值打印到控制台,简述实现思路并给出代码示例。
38.6万 热度难度
前端开发Vue

知识考点

AI 面试

面试题答案

一键面试

实现思路

  1. 在Vue应用中通过Vue.directive方法来定义自定义指令v - myDirective
  2. 在指令定义对象中,利用bind钩子函数,该钩子函数在指令第一次绑定到元素时调用,它接受三个参数:el(绑定的DOM元素)、binding(包含指令相关信息的对象,其中value属性就是绑定的值)。
  3. bind钩子函数中,通过binding.value获取绑定的值并打印到控制台。

代码示例

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF - 8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.min.js"></script>
</head>

<body>
  <div id="app">
    <input v - myDirective="inputValue" type="text">
  </div>
  <script>
    Vue.directive('myDirective', {
      bind: function (el, binding) {
        console.log(binding.value);
      }
    });
    new Vue({
      el: '#app',
      data: {
        inputValue: ''
      }
    });
  </script>
</body>

</html>