这个问题没有什么解决办法,但对我没什么用。我正在使用一个名为vue-filter的包,我想使用nl2br过滤器。当我尝试像这样在我的html中使用它时
<p style="padding: 10px;font-size: 17px;" v-html="$options.filters.nl2br(opDesc.description)"></p>它给出了以下错误
TypeError: _vm.$options.filters.nl2br is not a function下面是github链接https://github.com/wy-ei/vue-filter#nl2br包
发布于 2017-11-03 09:42:04
没问题。过滤器在v指令中不起作用。只适用于胡子插值和v-bind指令。
代之以使用计算属性:
<any-tag v-html="filtered" />在组件中,使用如下内容:
computed: {
filtered () {
return this.nl2br(this.rawHtml)
}
},
methods: {
nl2br (source) {
var filtered = //Filter logic here
return filtered
}
}发布于 2018-04-16 15:26:02
您可以使用
v-html="$options.filters.FILTERNAME(args)"或:inner-html.prop="args | FILTERNAME"。见下面的演示。
Vue.filter('upper', function (value) {
return value.toUpperCase();
})
new Vue({
el: '#app',
data: {
message: 'Hello Vue.js!'
}
})<script src="https://unpkg.com/vue"></script>
<div id="app">
<p v-html="$options.filters.upper(message)"></p>
<p :inner-html.prop="message | upper"></p>
</div>
https://stackoverflow.com/questions/47092312
复制相似问题