Vue.JS router-link params from ajax request
up vote
1
down vote
favorite
Im trying to create a router-link with vue and when I try to pass a parameter I receive from an AJAX request using axios. But at the moment I load the page i get the notice the parameter is missing and it shows up as undefined. How do i get around this?
<tr v-for="obj in fetched">
<td v-text="obj.isocode"></td>
<td v-text="obj.name"></td>
<td><router-link :to="{ name: 'str-route-masterdata-country-edit', params: { id: obj.id }}">Edit</router-link></td>
</tr>
export default {
name: "starlight-masterdata-country-index",
components: {StarlightTable},
data: function() {
return {fetched: }
},
mounted: function () {
let vm = this;
Axios.get('http://127.0.0.1:5000/masterdata/countries',
{crossDomain: true}
)
.then(function (response) {
// handle success
vm.fetched = response.data;
})
.catch(function (error) {
// handle error
//TODO: Add flash message to screen to show the api request failed
window.console.log(error);
});
},
}
Error message:
vue-router.esm.js?8c4f:16 [vue-router] missing param for named route "str-route-masterdata-country-edit": Expected "id" to be defined
javascript html vue.js vuejs2 vue-router
add a comment |
up vote
1
down vote
favorite
Im trying to create a router-link with vue and when I try to pass a parameter I receive from an AJAX request using axios. But at the moment I load the page i get the notice the parameter is missing and it shows up as undefined. How do i get around this?
<tr v-for="obj in fetched">
<td v-text="obj.isocode"></td>
<td v-text="obj.name"></td>
<td><router-link :to="{ name: 'str-route-masterdata-country-edit', params: { id: obj.id }}">Edit</router-link></td>
</tr>
export default {
name: "starlight-masterdata-country-index",
components: {StarlightTable},
data: function() {
return {fetched: }
},
mounted: function () {
let vm = this;
Axios.get('http://127.0.0.1:5000/masterdata/countries',
{crossDomain: true}
)
.then(function (response) {
// handle success
vm.fetched = response.data;
})
.catch(function (error) {
// handle error
//TODO: Add flash message to screen to show the api request failed
window.console.log(error);
});
},
}
Error message:
vue-router.esm.js?8c4f:16 [vue-router] missing param for named route "str-route-masterdata-country-edit": Expected "id" to be defined
javascript html vue.js vuejs2 vue-router
How does the structure, you receive from axios, look like? Your template expects something like[{id:123}]Is this the case?
– ssc-hrep3
Nov 16 at 21:37
What exactly is the error message:i get the notice the parameter is missing
– Matt Morgan
Nov 16 at 22:15
@MattMorgan I have edited the post to include the exact error message the chrome console gives me. My apologies.
– djkevino
2 days ago
@ssc-hrep3 Thanks, I accidentially used id instead of uuid. Just a bad on my part
– djkevino
2 days ago
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
Im trying to create a router-link with vue and when I try to pass a parameter I receive from an AJAX request using axios. But at the moment I load the page i get the notice the parameter is missing and it shows up as undefined. How do i get around this?
<tr v-for="obj in fetched">
<td v-text="obj.isocode"></td>
<td v-text="obj.name"></td>
<td><router-link :to="{ name: 'str-route-masterdata-country-edit', params: { id: obj.id }}">Edit</router-link></td>
</tr>
export default {
name: "starlight-masterdata-country-index",
components: {StarlightTable},
data: function() {
return {fetched: }
},
mounted: function () {
let vm = this;
Axios.get('http://127.0.0.1:5000/masterdata/countries',
{crossDomain: true}
)
.then(function (response) {
// handle success
vm.fetched = response.data;
})
.catch(function (error) {
// handle error
//TODO: Add flash message to screen to show the api request failed
window.console.log(error);
});
},
}
Error message:
vue-router.esm.js?8c4f:16 [vue-router] missing param for named route "str-route-masterdata-country-edit": Expected "id" to be defined
javascript html vue.js vuejs2 vue-router
Im trying to create a router-link with vue and when I try to pass a parameter I receive from an AJAX request using axios. But at the moment I load the page i get the notice the parameter is missing and it shows up as undefined. How do i get around this?
<tr v-for="obj in fetched">
<td v-text="obj.isocode"></td>
<td v-text="obj.name"></td>
<td><router-link :to="{ name: 'str-route-masterdata-country-edit', params: { id: obj.id }}">Edit</router-link></td>
</tr>
export default {
name: "starlight-masterdata-country-index",
components: {StarlightTable},
data: function() {
return {fetched: }
},
mounted: function () {
let vm = this;
Axios.get('http://127.0.0.1:5000/masterdata/countries',
{crossDomain: true}
)
.then(function (response) {
// handle success
vm.fetched = response.data;
})
.catch(function (error) {
// handle error
//TODO: Add flash message to screen to show the api request failed
window.console.log(error);
});
},
}
Error message:
vue-router.esm.js?8c4f:16 [vue-router] missing param for named route "str-route-masterdata-country-edit": Expected "id" to be defined
javascript html vue.js vuejs2 vue-router
javascript html vue.js vuejs2 vue-router
edited 2 days ago
asked Nov 16 at 21:27
djkevino
13614
13614
How does the structure, you receive from axios, look like? Your template expects something like[{id:123}]Is this the case?
– ssc-hrep3
Nov 16 at 21:37
What exactly is the error message:i get the notice the parameter is missing
– Matt Morgan
Nov 16 at 22:15
@MattMorgan I have edited the post to include the exact error message the chrome console gives me. My apologies.
– djkevino
2 days ago
@ssc-hrep3 Thanks, I accidentially used id instead of uuid. Just a bad on my part
– djkevino
2 days ago
add a comment |
How does the structure, you receive from axios, look like? Your template expects something like[{id:123}]Is this the case?
– ssc-hrep3
Nov 16 at 21:37
What exactly is the error message:i get the notice the parameter is missing
– Matt Morgan
Nov 16 at 22:15
@MattMorgan I have edited the post to include the exact error message the chrome console gives me. My apologies.
– djkevino
2 days ago
@ssc-hrep3 Thanks, I accidentially used id instead of uuid. Just a bad on my part
– djkevino
2 days ago
How does the structure, you receive from axios, look like? Your template expects something like
[{id:123}] Is this the case?– ssc-hrep3
Nov 16 at 21:37
How does the structure, you receive from axios, look like? Your template expects something like
[{id:123}] Is this the case?– ssc-hrep3
Nov 16 at 21:37
What exactly is the error message:
i get the notice the parameter is missing– Matt Morgan
Nov 16 at 22:15
What exactly is the error message:
i get the notice the parameter is missing– Matt Morgan
Nov 16 at 22:15
@MattMorgan I have edited the post to include the exact error message the chrome console gives me. My apologies.
– djkevino
2 days ago
@MattMorgan I have edited the post to include the exact error message the chrome console gives me. My apologies.
– djkevino
2 days ago
@ssc-hrep3 Thanks, I accidentially used id instead of uuid. Just a bad on my part
– djkevino
2 days ago
@ssc-hrep3 Thanks, I accidentially used id instead of uuid. Just a bad on my part
– djkevino
2 days ago
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
Already solved. Used the wrong property. Needed to be uuid instead of id..
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
Already solved. Used the wrong property. Needed to be uuid instead of id..
add a comment |
up vote
0
down vote
Already solved. Used the wrong property. Needed to be uuid instead of id..
add a comment |
up vote
0
down vote
up vote
0
down vote
Already solved. Used the wrong property. Needed to be uuid instead of id..
Already solved. Used the wrong property. Needed to be uuid instead of id..
answered 2 days ago
djkevino
13614
13614
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53345633%2fvue-js-router-link-params-from-ajax-request%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
How does the structure, you receive from axios, look like? Your template expects something like
[{id:123}]Is this the case?– ssc-hrep3
Nov 16 at 21:37
What exactly is the error message:
i get the notice the parameter is missing– Matt Morgan
Nov 16 at 22:15
@MattMorgan I have edited the post to include the exact error message the chrome console gives me. My apologies.
– djkevino
2 days ago
@ssc-hrep3 Thanks, I accidentially used id instead of uuid. Just a bad on my part
– djkevino
2 days ago