Vue.js Vuejs-如何从另一个js文件调用main.js的挂载函数

Vue.js Vuejs-如何从另一个js文件调用main.js的挂载函数,vue.js,vuejs2,vee-validate,Vue.js,Vuejs2,Vee Validate,这是我在commonValidation.js中给出的代码 commonValidation.js: this.$validator.localize('en', { messages: { required: (field) => '* ' + field + ' is required' }, attributes: { email: 'Email' } }) 我想在mounted函数中调用ma

这是我在commonValidation.js中给出的代码

commonValidation.js:

this.$validator.localize('en', {
      messages: {
        required: (field) => '* ' + field + ' is required'
      },
      attributes: {
        email: 'Email'
      } 
    })
我想在mounted函数中调用main.js中的上述文件 如下图所示。但它不起作用。如果我在mounted()方法(在main.js中)中进行了这些验证(来自commonValidation.js),那么它就可以工作了

main.js:

import Vue from 'vue'
import BootstrapVue from 'bootstrap-vue'
import App from './App'
import router from './router'
import VeeValidate from 'vee-validate';
import commonValidation from './commonValidation'

Vue.use(VeeValidate);
Vue.use(BootstrapVue);

new Vue({
  el: '#app',
  router,
  template: '<App/>',
  components: {
    App
  },
  mounted()
  {
    commonValidation
  }
})

您正在commonValidation.js文件中导出一个对象。 对象不能像函数一样被调用

我认为你的意图是使用。mixin只不过是一个包含可重用组件选项作为其属性的对象

因此,只需在main.js文件的根组件上注册mixin:

//main.js
import Vue from 'vue'
import BootstrapVue from 'bootstrap-vue'
import App from './App'
import router from './router'
import VeeValidate from 'vee-validate';
import commonValidation from './commonValidation'

Vue.use(VeeValidate);
Vue.use(BootstrapVue);

new Vue({
    el: '#app',
    router,
    template: '<App/>',
    components: {
        App
    },
    mixins : [commonValidation]
}
//main.js
从“Vue”导入Vue
从“引导vue”导入引导vue
从“./App”导入应用程序
从“./路由器”导入路由器
从“vee validate”导入vee validate;
从“./commonValidation”导入commonValidation
Vue.使用(验证);
Vue.use(BootstrapVue);
新Vue({
el:“#应用程序”,
路由器,
模板:“”,
组成部分:{
应用程序
},
混合:[公共验证]
}

您正在commonValidation.js文件中导出一个对象。 对象不能像函数一样被调用

我认为您的意图是使用。mixin只是一个包含可重用组件选项作为其属性的对象

因此,只需在main.js文件的根组件上注册mixin:

//main.js
import Vue from 'vue'
import BootstrapVue from 'bootstrap-vue'
import App from './App'
import router from './router'
import VeeValidate from 'vee-validate';
import commonValidation from './commonValidation'

Vue.use(VeeValidate);
Vue.use(BootstrapVue);

new Vue({
    el: '#app',
    router,
    template: '<App/>',
    components: {
        App
    },
    mixins : [commonValidation]
}
//main.js
从“Vue”导入Vue
从“引导vue”导入引导vue
从“./App”导入应用程序
从“./路由器”导入路由器
从“vee validate”导入vee validate;
从“./commonValidation”导入commonValidation
Vue.使用(验证);
Vue.use(BootstrapVue);
新Vue({
el:“#应用程序”,
路由器,
模板:“”,
组成部分:{
应用程序
},
混合:[公共验证]
}

你能显示完整的commonValidation.js:文件吗?这是我完整的commonValidation.js文件:导出默认值{mounted(){This.$validator.localize('en',{messages:{required:{field=>'*'+field+'is required'},属性:{email:'email'}}}你能显示完整的commonValidation.js:文件吗?这是我完整的commonValidation.js文件:导出默认值{mounted(){This.$validator.localize('en',{messages:{required:(field)=>'*'+field+'is required'},属性:{email:'email'}}