I defined some data in a vuejs instance, but when I use the data, I receive this message:
Property or method "url" is not defined on the instance but referenced during render. Make sure to declare reactive data properties in the data option.
This is where the data is located:
Vue.component('app-dashboard', require('./components/AppDashboard.vue'));
Vue.component('header-top', require('./components/Header.vue'));
Vue.component('navbox', require('./components/Navbox.vue'));
Vue.component(Vodal.name, Vodal);
const app = new Vue({
el: '#app',
data: {
url: {
dashboard: laroute.route('dashboard'),
request: laroute.route('requests.get'),
send: laroute.route('requests.send'),
history: laroute.route('history'),
userAll: laroute.route('users.all')
}
}
});
This is how I use the data in my component:
// Header.vue
<li class="nav-item active">
<a class="nav-link" :href="url.dashboard">Dashboard <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" :href="url.request">File Request</a>
</li>
<li class="nav-item">
<a class="nav-link" :href="url.send">Send Files</a>
</li>
<li class="nav-item">
<a class="nav-link" :href="url.history">History</a>
</li>
<li class="nav-item">
<a class="nav-link" :href="url.userAll">User Management</a>
</li>