Vuejs вызывает метод другого компонента с параметром - PullRequest
1 голос
/ 29 марта 2019

У меня есть два компонента, первый для загрузки файла, а второй для показа файла.Внутри моего компонента загрузки я хотел бы вызвать компонент предварительного просмотра и добавить параметр, чтобы метод внутри компонента предварительного просмотра использовал значение, созданное внутри компонента загрузки.

Пока я сделал это:

UploadComponent.vue

<template>
    …
    <button @click="upload"></button>
    <preview-component :url="this.location"></preview-component>
</template >

<script>
import PreviewComponent from '@/js/components/PreviewComponent';

export default {
    components: {
        'preview-component': PreviewComponent
    },

    props: ['url'],

    data () {
        return {
            // ...
            location: ''
        }
    },

    methods: {
        upload() {
            // ... upload stuff then update the global var location
            this.location = response.data.location;
        },
    }

}
</script>

Это мой компонент предварительного просмотра:

<template>
    <div id="body">
        ///...
    </div>
</template>

<script>
export default {
    props: ['url'],

    methods: {
        loadPdf (url) {
            //
        },
    }    
}
</script>

Пока я получаю сообщение об ошибке, что URL не определен, поэтому он фактически не отправляетсяURL-адрес от UploadCOmponent до PreviewComponent, как мне его отправить?

1 Ответ

0 голосов
/ 29 марта 2019

У вас есть ниндзя this в шаблоне UploadComponent.

Это должно быть <preview-component :url="location"></preview-component>

...