×

vue应用:指令v-html使用过滤器filters

作者:Terry2023.01.08来源:Web前端之家浏览:2659评论:0
关键词:vuejs

vue应用:指令v-html使用过滤器filters。

Vue2.0 不再支持在 v-html 中使用过滤器,比如在 1.0 中是这样使用的:

{{{ option.title | highlight }}}

然而,现在不能使用了,Vue2.0 的过滤器现在只能应用在 {{ }} 和 v-bind 中。

然而,嫌麻烦,还想使用怎么办?

解决方法

  • 使用全局方法

  • 使用 computed 属性

  • 使用 $options.filters

使用全局方法

put your highlight into methods, and v-html="highlight(option.title)"

可以在 Vue 上定义全局方法:

Vue.prototype.highlight= function (sTitle) {
 // to do
};

然后所有组件上都可以直接用这个方法了:

v-html="highlight(option.title)"

使用 computed 属性

  • What if I have a filter that outputs HTML? Do I have to use a computed property or is there a better way?

  • Computed properties are the best way. You get automatic caching.

当然,可以使用计算属性 computed,返回原生 html 给 v-html 即可。

使用 $options.filters

You can use $options.filters

v-html="$options.filters.highlight(option.title)"

这个方式在文档中并没有说明,但是这也是可靠的方法。

您的支持是我们创作的动力!
温馨提示:本文作者系Terry ,经Web前端之家编辑修改或补充,转载请注明出处和本文链接:
https://www.jiangweishan.com/article/vuejs20130108.html

网友评论文明上网理性发言 已有0人参与

发表评论: