请问vue 表单域验证 使用this.$t('...'),$t is not defined怎么办,想做成中英文验证?

发布于 2022-09-13 01:02:57 字数 242 浏览 31 评论 0

请问vue 表单域验证 rules做成了一个单独文件rules.js 使用this.$t('...'),$t is not defined怎么办,想做成中英文验证?

LastName: [{ required: true, message: this.$t('login.lastName'), trigger: "blur" }],
image.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

压抑⊿情绪 2022-09-20 01:02:57

这个是单独的js文件而不是vue组件吧,this.$t('...')中的this是指vue实例,因为$t是作为插件挂载在vue上的,而现在这个文件里面的this指的是你export的这个对象.

决解方法就是在本文件中import vue和国际化那个插件,并挂载到vue就可以使用了

暖伴 2022-09-20 01:02:57

想一下,如果我们声明了一个数组或对象,在声明的数组或对象中使用了变量,那么在声明的过程中会先进行变量取值

你的代码一样,在声明rules时会先运行this.$t,你应该是希望this指向vue实例,但是注意你声明数组的环境,此时this指向了哪里?this.$t又是什么?

如果你的$t是绑定在Vue.prototype上的,那么你需要引入Vue,然后直接使用Vue.prototype.$t,或者不直接导出数组,而是导出一个函数(不是箭头函数),在使用的时候call转换下里面的this

铁憨憨 2022-09-20 01:02:57

export。。这环境看上去就不像有 this 的。

this.$t 看上去是挂载到了 Vue.prototype 上。一般在 main 文件里面,你找到那个引入,在你的这个组件也映入一下直接使用呗。

人疚 2022-09-20 01:02:57

没找到this呗,给new Vue的地方写成 window.VM = new Vue,this换成VM试试。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文