Как использовать «компоненты плагина Vue» внутри моего собственного плагина Vue - PullRequest
0 голосов
/ 14 апреля 2019

Я пытаюсь использовать компоненты vuetify в моем собственном плагине vue, который я создал, но кажется, что рендеринг моего плагина до того, как приложение "узнает", что vuetify существует.

Я пытался использовать Vue.use (Vuetify) внутри моего плагина, но он не работал, и в принципе нет смысла использовать его в моем плагине, так как я хочу, чтобы пользователь (разработчик) плагина использовал vuetify как глобальная зависимость в его приложении, так что он может просочиться до моего плагина

это мой vu html шаблон плагина:

<v-content>
      <v-container fluid fill-height>
        <v-layout justify-center>
        <div v-if="videoLoading">
          <v-progress-circular v-if="useVuetifyLoader"
            :size="size"
            :width="width"
            :rotate="rotate" 
            :value="videoLoadingProgress*1.5"
            :color="color"
          >
            Downloading...
            {{ `${loadedInMB}/${totalInMb}Mb` }}
          </v-progress-circular>
          <div v-else>
              Downloading...
              {{ `${loadedInMB}/${totalInMb}Mb` }}
          </div>
        </div>
        <div v-else>
          <div>
            <div>foo</div>
          </div>
        </div>
      </v-layout>
    </v-container>
  </v-content>

и это мой плагин:

import MyPlugin from '../lib/MyPlugin.vue';
import Vuetify from 'vuetify'


const install = function (Vue, config) {

Vue.component("my-plugin", MyPlugin)

}




export { install }

*and i tried also :*



 import MyPlugin from '../lib/MyPlugin.vue';
    import Vuetify from 'vuetify'


    const install = function (Vue, config) {
    Vue.use(Vuetify)// <-- did not work
    Vue.component("my-plugin", MyPlugin)

    }




    export { install }

и когда я внедряю свой плагин в другое приложение, я получаю следующие ошибки:

Unknown custom element: <v-content> - did you register the component correctly? For recursive components, make sure to provide the "name" option

 Unknown custom element: <v-container> - did you register the component correctly? For recursive components, make sure to provide the "name" option.

Unknown custom element: <v-layout> - did you register the component correctly? For recursive components, make sure to provide the "name" option.

Unknown custom element: <v-progress-circular> - did you register the component correctly? For recursive components, make sure to provide the "name" option.

Ответы [ 2 ]

0 голосов
/ 18 мая 2019

хорошо, так что я понял это.все, что мне нужно было сделать, это передать Vuetify в качестве параметра в объекте параметров, а затем я мог бы использовать его в своем файле плагина с Vue.use (my_vuetify_param)

0 голосов
/ 14 апреля 2019

Как насчет настройки вашего плагина следующим образом и включения пользовательских компонентов внутри:

export default {
  install (Vue, options) {
     Vue.anyMethodYouLike = (value) => value

     Vue.component('v-content', Component);
     // Add `Vue.mixin()` to inject options to all components.
     Vue.mixin({
         // Add component lifecycle hooks and/or properties.
         created() {
         }
     });
     // We can also add Vue instance methods by attaching them to Vue.prototype.
     Vue.property.$myProperty = 'This is a Vue instance property.'
  }
}

Затем используйте в своем приложении:

import myPlugin from './plugin.js' // the file with the code above

Vue.use(myPlugin, {
  someProp: 'blahdy blah'  //options to pass
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...