javascript - 在鼠标悬停时删除 Vue 自定义过滤器

标签 javascript events event-handling vue.js vuejs2

我想使用 VueJS 2 删除鼠标悬停时的 chop 过滤器。这是我在模板中的过滤器:

<div class="eng" @mouseover="showAll">{{ word.english | truncate }}</div>

这是过滤器本身:

filters: {
    truncate: function(value) {
      let length = 50;
      if (value.length <= length) {
        return value;
      } else {
        return value.substring(0, length) + '...';
      }
    }
 },

有没有办法删除鼠标悬停事件的过滤器,使 div 不再被 chop ?谢谢!

编辑:showAll() 函数是我想删除它的地方。我尝试了几种方法来删除过滤器,例如:

showAll(){
  console.log('being mousedover');
  this.truncate = false
},

和:

showAll(){
  console.log('being mousedover');
  !this.truncate
}

但这就是我迷路的地方......

最佳答案

使 showAll 成为一个 bool 数据属性,并使用 template 标签来确定通过 v 显示哪个版本的 word.english -ifv-else 指令:

<div class="eng" @mouseover="showAll = true">
  <template v-if="showAll">{{ word.english }}</template>
  <template v-else>{{ word.english | truncate }}</template>
</div>

Here's a working fiddle.

关于javascript - 在鼠标悬停时删除 Vue 自定义过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45196501/

相关文章:

javascript - 找不到模块 'typescript'

c# - 安全地引发事件线程

javascript - 即使聚焦并且 CSS 规则生效,HTML 按钮也不会单击

java - SWT/JFace : How to handle Keyevents for each ViewPart or Form?

javascript - onchange ="this.form.submit()"与两个提交按钮

javascript - 取消选中复选框时删除 li 元素

javascript - 为什么我无法获得对 AngularJS Videogular 中可以看到的元素的引用?

c# - 如何在 Windows 窗体应用程序中使用多线程来更新进度条?

java - Vaadin-双击时取消选择单选按钮

wpf - 是否有与 AddHandler 等效的 XAML,您想在其中捕获已处理的事件?