Функция шаблона или рендера не определена в vue-youtube-embed

1

Я использую этот плагин для vue https://github.com/kaorun343/vue-youtube-embed Но когда я его использую. Это дает мне эту ошибку. Я не знаю, что вызывает эту ошибку

Vue warn]: Failed to mount component: template or render function not 
defined.

Вот мой исходный код

        <template>
        <div>
            <youtube :video-id="'wyNGaq8XmH8'"></youtube>
        </div>
    </template>

    <script>
        import VueYouTubeEmbed from  'vue-youtube-embed'
        Vue.component('youtube',VueYouTubeEmbed)
        export default {
            props:['progamData'],
            data(){
                return{
                    programs:[],
                    currentVideo:null,
                    player:null
                }
            }

        }
    </script>

Любая помощь будет оценена заранее

Теги:
vue.js

1 ответ

1
Лучший ответ

Библиотека vue-youtube-embed разработана как плагин. Линия,

import VueYouTubeEmbed from  'vue-youtube-embed'

импортирует плагин, а не компонент. Если вы хотите импортировать его локально в компонент, вам нужно сделать это следующим образом:

import VueYouTubeEmbed, {YouTubePlayer} from "vue-youtube-embed";
import Vue from "vue"

Vue.use(VueYouTubeEmbed, {global: false})

export default {
  name: "App",
  components: {
    youtube: YouTubePlayer
  }
};

Вот рабочий пример.

Кроме того, вы можете просто использовать плагин в своем главном скрипте.

import VueYouTubeEmbed from "vue-youtube-embed";
Vue.use(VueYouTubeEmbed);

И вот рабочая версия этого.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню