当前位置: 首页 > 知识库问答 >
问题:

javascript - vue中怎么让自定义指令符合某种条件才生效?

姬翰林
2023-08-16

功能需求是这样的,点击打印后,打印表格中的某条数据。
但是现在只要点击按钮就会弹出打印窗口,如何做到符合条件再弹出打印框?

打印组件用的:vue-print-nb

<a-button type="primary" v-print="printObj">打印</a-button>

共有1个答案

暨成双
2023-08-16

在 main.js :

Vue.directive('conditional-print', {  bind(el, binding, vnode) {    if (typeof binding.value !== 'function') {      console.warn('v-conditional-print expects a function');      return;    }    el.addEventListener('click', () => {         if (binding.value()) {        vnode.context.$print(el);      }    });  }});

组件里:

<template>  <a-button type="primary" v-conditional-print="shouldPrint">打印</a-button></template><script>export default {  methods: {    shouldPrint() {            // 返回 true 则执行打印,返回 false 就不执行      return this.someConditionMet;    }  }}</script>
 类似资料:
  • 简介 除了默认设置的核心指令( v-model 和 v-show ),Vue 也允许注册自定义指令。注意,在 Vue2.0 里面,代码复用的主要形式和抽象是组件——然而,有的情况下,你仍然需要对纯 DOM 元素进行底层操作,这时候就会用到自定义指令。下面这个例子将聚焦一个 input 元素,像这样: Vue.directive('focus', { inserted: function (el)

  • 1. 前言 本小节我们介绍 Vue 中的自定义指令。包括全局指令的注册、局部指令的注册、指令钩子函数的使用以及动态指令传参。其中,指令钩子函数和动态指令参数是本节的难点。 同学们需要充分理解每个指令钩子函数执行的时机、对动态指令参数多加练习才能对指令的使用得心应手。 2. 慕课解释 Vue 除了提供了默认内置的指令外,还允许开发人员根据实际情况自定义指令,它的作用价值在于当开发人员在某些场景下需要

  • 本文向大家介绍使用Vue自定义指令实现Select组件,包括了使用Vue自定义指令实现Select组件的使用技巧和注意事项,需要的朋友参考一下 本篇文章教大家写一个非常简单的Select组件,想必很多人都写过Select,毕竟它太常用了,但是本篇文章的示例使用到了Vue的自定义指令,如果你对Vue自定义指令不怎么熟悉的话,本篇文章或许会让您有所收获! 完成的效果图如下:   一、首先,我们简单布局

  • 创建自定义指令 第一步,创建一个自定义命令类文件,新建application/common/command/Hello.php <?php namespace app\common\command; use think\console\Command; use think\console\Input; use think\console\input\Argument; use think\con

  • 自定义指令可以使用 macro 指令来定义, 这是模板设计者所关心的内容。 Java程序员若不想在模板中实现定义指令,而是在Java语言中实现指令的定义, 这时可以使用 freemarker.template.TemplateDirectiveModel 类来扩展 (请参考 后续章节)。 基本内容 宏是有一个变量名的模板片段。可以在模板中使用宏作为自定义指令, 这样就能进行重复性的工作。例如,创建

  • 本文向大家介绍vue 中自定义指令改变data中的值,包括了vue 中自定义指令改变data中的值的使用技巧和注意事项,需要的朋友参考一下 通过局部自定义指令实现了一个拖动的指令 html: script: 以上所述是小编给大家介绍的vue 中自定义指令改变data中的值,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网站的支持!