Vuejs - Как вызвать смонтированную функцию main.js из другого файла Js - PullRequest
0 голосов
/ 07 мая 2018

Это код, который я дал в commonValidation.js.

commonValidation.js:

this.$validator.localize('en', {
      messages: {
        required: (field) => '* ' + field + ' is required'
      },
      attributes: {
        email: 'Email'
      } 
    })

Я хочу вызвать вышеуказанный файл в main.js внутри смонтированной функции как ниже. Но это не работает. Если бы я дал эти проверки (из commonValidation.js) внутри метода mount () (в main.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 внутри смонтированного () в main.js. Заранее спасибо.

Это мой полный commonValidation.js

export default {
  mounted() {
    this.$validator.localize('en', {
      messages: {
        required: (field) => '* ' + field + ' is required'
      },
      attributes: {
        email: 'Email'
      } 
    })
  }
}

1 Ответ

0 голосов
/ 07 мая 2018

Вы экспортируете объект в файл commonValidation.js. Объект не может быть вызван как функция.

Я думаю, что вы собираетесь использовать mixin . Миксин - это не что иное, как объект, который содержит повторно используемые опции компонента в качестве своих свойств.

Так что просто зарегистрируйте миксин в корневом компоненте в файле main.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
    },
    mixins : [commonValidation]
}
...