Vue.js Vue l18n$t未定义
我可以在组件中使用$t:Vue.js Vue l18n$t未定义,vue.js,vee-validate,Vue.js,Vee Validate,我可以在组件中使用$t: :label="$t('sign-up.terms-label')" 在javascript中: case 'email': this.errors.push(this.$t('sign-up.email-exists')); break; 但我不能在extend中使用它: import { extend, localize, ValidationObserver } from 'vee-validate'; localize({ cs: { na
:label="$t('sign-up.terms-label')"
在javascript中:
case 'email':
this.errors.push(this.$t('sign-up.email-exists')); break;
但我不能在extend中使用它:
import { extend, localize, ValidationObserver } from 'vee-validate';
localize({
cs: {
names: {
email: $t('sign-up.email-label'),
EsLint说该函数未定义
我想本地化vee validate的字段名,如下所述:
I18N的定义如下:
Vue.use(VueI18n);
export default new VueI18n({
locale: process.env.VUE_APP_I18N_LOCALE || 'cs',
fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE || 'cs',
messages: loadLocaleMessages(),
});
出现错误,因为$t未在此范围中定义
如图所示,$t应被称为vue组件外部的vue-i18n实例上的方法
如果它是在其他模块中定义的,则应从vue-i18n实例导出的模块中导入:
import i18n from './i18n';
...
localize({
cs: {
names: {
email: i18n.$t('sign-up.email-label'),
...
出现错误,因为$t未在此范围中定义
如图所示,$t应被称为vue组件外部的vue-i18n实例上的方法
如果它是在其他模块中定义的,则应从vue-i18n实例导出的模块中导入:
import i18n from './i18n';
...
localize({
cs: {
names: {
email: i18n.$t('sign-up.email-label'),
...
您可以从方法中调用extend,此时您将有权访问此。$t
您可以从方法中调用extend,此时您将有权访问此。$t
你能说得更具体些吗?我已经阅读了很多次该文档,但我不明白问题出在哪里。在我链接的部分中,$t不是凭空而来的,而是来自i18n。$t。我添加了更多关于如何初始化i18n库的代码。完整的源代码:。文档显示了如何定义局部变量。但这不是我的情况。我发布的指南非常接近。如果它在另一个模块中,它可能不会显示它是如何完成的,因为导入是通用的JS知识,而不是特定于此库。我试着解释一下。希望这有帮助。你能更具体一点吗?我已经阅读了很多次该文档,但我不明白问题出在哪里。在我链接的部分中,$t不是凭空而来的,而是来自i18n。$t。我添加了更多关于如何初始化i18n库的代码。完整的源代码:。文档显示了如何定义局部变量。但这不是我的情况。我发布的指南非常接近。如果它在另一个模块中,它可能不会显示它是如何完成的,因为导入是通用的JS知识,而不是特定于此库。我试着解释一下。希望这有帮助。