我使用vue-lang。它有效,但不完全
问题
在JSON文件中有一个示例:
"messages": "You have {0} {1} messages"
,然后将此代码作为过滤器
<p>{{$lang.messages | replace countmsg 'new'}}</p>
但是当我通过示例进行操作时,这里会出现错误
[Vue warn]: Failed to resolve filter: replace countmsg 'new'
我的文件
main.js
import Vue from 'vue'
import Lang from 'vue-lang'
const locales = {
'cs': require('./lang/cs.json')
}
Vue.use(Lang, {lang: 'cs', locales: locales})
lang / cs.json
{
"messages": "You have {0} {1} messages"
}
views / login.vue
<template>
<p>{{$lang.messages | replace countmsg 'new'}}</p>
</template>
<script>
export default {
name: 'Login',
data: function() {
return {
countmsg: 5
}
}
</script>
仍然无效。我在做什么错了?
答案 0 :(得分:1)
我对这个特定的库不熟悉,但是使用这种过滤器的通常方法是:
{{ $lang.messages | replace(countmsg, 'new') }}
该过滤器的文档似乎已经有3年的历史,因此它可能已过时。调用过滤器的语法在一段时间前已更改:https://vuejs.org/v2/guide/migration.html#Filter-Argument-Syntax-changed