Ich habe 1 2 KomponenteWie kann ich Laravels Baseurl auf dem vue.js 2 verwenden?
Komponente, Der Name wie diese SearchResultVue.vue Komponente
Die Komponente ist:
<template>
...
<span class="pull-right" v-show="totalall>8">
<pagination :data="list" :baseUrl="this.Laravel.baseUrl" :total="totalPage" :nextPage="nextPage" :prevPage="prevPage"></pagination>
</span>
...
</template>
Die Komponente Aufruf Komponente 2. Der Name ist Pagination.vue Komponente
Die Paginierung Komponente ist wie folgt:
<template>
<nav aria-label="Page navigation">
<ul class="pagination">
<li>
<a :href="prevPage" aria-label="Previous">
<span aria-hidden="true">«</span>
</a>
</li>
<li v-for="i in total">
<a :href="baseUrl+'/search-result?page='+i">{{i}}</a>
</li>
<li>
<a :href="nextPage" aria-label="Next">
<span aria-hidden="true">»</span>
</a>
</li>
</ul>
</nav>
</template>
<script>
export default{
props:['total', 'data', 'nextPage', 'prevPage'],
computed:{
baseUrl(){
return window.Laravel.baseUrl
}
}
}
</script>
Wenn er ausgeführt wird, in der Konsole existieren 2 Fehler
Fehler 1 ist wie folgt:
[Vue warn]: Property or method "Laravel" is not defined on the instance but referenced during render. Make sure to declare reactive data properties in the data option.
Fehler 2 ist wie folgt:
Uncaught TypeError: Cannot read property 'baseUrl' of undefined
Wie kann ich die Fehler lösen?
Sie können nicht Laravel Variablen aus VueJS zugreifen. Es ist sowieso nicht definiert in "Fenster" ... –
@M U, Was ist dann die richtige Lösung für mein Problem? –
Warum brauchen Sie baseurl? Es ist env-Variable, also kannst du es in deiner Webpack-Konfiguration einstellen und es so benutzen? –