this.$set cant sort after
up vote
1
down vote
favorite
So have Vue adding an object to a list of objects but no matter what I do it doesn't seem to sort or append to the top of the list.
the set happens here
watch: {
sendBetData() {
// Creates the object to be appended to the list
const latest = {
bet_id: this.sendBetData.bet_id,
username: this.sendBetData.username,
bet: this.sendBetData.bet_amount,
client_seed: this.sendBetData.client_seed.seed,
created_at: this.sendBetData.created_at,
high: this.sendBetData.high,
multiplier: this.sendBetData.multiplier,
profit: this.sendBetData.profit,
result: this.sendBetData.result,
roll: this.sendBetData.roll_number,
server_seed: this.sendBetData.server_seed.seed_hash,
threshold: this.sendBetData.threshold,
user_id: this.sendBetData.user_id
};
this.$set(this.bets, latest.bet_id, latest)
},
},
then I have a computed function sorting
computed: {
bets() {
console.log('yep');
return _.orderBy(this.bets, 'created_at')
}
},
But no matter what I try it always sets it to the bottom of the list on the view
javascript vue.js vue-component
add a comment |
up vote
1
down vote
favorite
So have Vue adding an object to a list of objects but no matter what I do it doesn't seem to sort or append to the top of the list.
the set happens here
watch: {
sendBetData() {
// Creates the object to be appended to the list
const latest = {
bet_id: this.sendBetData.bet_id,
username: this.sendBetData.username,
bet: this.sendBetData.bet_amount,
client_seed: this.sendBetData.client_seed.seed,
created_at: this.sendBetData.created_at,
high: this.sendBetData.high,
multiplier: this.sendBetData.multiplier,
profit: this.sendBetData.profit,
result: this.sendBetData.result,
roll: this.sendBetData.roll_number,
server_seed: this.sendBetData.server_seed.seed_hash,
threshold: this.sendBetData.threshold,
user_id: this.sendBetData.user_id
};
this.$set(this.bets, latest.bet_id, latest)
},
},
then I have a computed function sorting
computed: {
bets() {
console.log('yep');
return _.orderBy(this.bets, 'created_at')
}
},
But no matter what I try it always sets it to the bottom of the list on the view
javascript vue.js vue-component
1
You aren't usingVue.set
properly. From the documentation, here is a proper example:this.$set(this.someObject, 'b', 2)
, wherethis.someObject
is the object which you want to set,'b'
is the attribute you want to change onthis.someObject
, and 2 is the new value to be set
– Derek Pollard
Nov 11 at 7:30
So that isnt the right way to append a new object to the group?? The way you putting it is that is the change a value within an object, is that correct?
– GrahamMorbyDev
Nov 11 at 7:47
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
So have Vue adding an object to a list of objects but no matter what I do it doesn't seem to sort or append to the top of the list.
the set happens here
watch: {
sendBetData() {
// Creates the object to be appended to the list
const latest = {
bet_id: this.sendBetData.bet_id,
username: this.sendBetData.username,
bet: this.sendBetData.bet_amount,
client_seed: this.sendBetData.client_seed.seed,
created_at: this.sendBetData.created_at,
high: this.sendBetData.high,
multiplier: this.sendBetData.multiplier,
profit: this.sendBetData.profit,
result: this.sendBetData.result,
roll: this.sendBetData.roll_number,
server_seed: this.sendBetData.server_seed.seed_hash,
threshold: this.sendBetData.threshold,
user_id: this.sendBetData.user_id
};
this.$set(this.bets, latest.bet_id, latest)
},
},
then I have a computed function sorting
computed: {
bets() {
console.log('yep');
return _.orderBy(this.bets, 'created_at')
}
},
But no matter what I try it always sets it to the bottom of the list on the view
javascript vue.js vue-component
So have Vue adding an object to a list of objects but no matter what I do it doesn't seem to sort or append to the top of the list.
the set happens here
watch: {
sendBetData() {
// Creates the object to be appended to the list
const latest = {
bet_id: this.sendBetData.bet_id,
username: this.sendBetData.username,
bet: this.sendBetData.bet_amount,
client_seed: this.sendBetData.client_seed.seed,
created_at: this.sendBetData.created_at,
high: this.sendBetData.high,
multiplier: this.sendBetData.multiplier,
profit: this.sendBetData.profit,
result: this.sendBetData.result,
roll: this.sendBetData.roll_number,
server_seed: this.sendBetData.server_seed.seed_hash,
threshold: this.sendBetData.threshold,
user_id: this.sendBetData.user_id
};
this.$set(this.bets, latest.bet_id, latest)
},
},
then I have a computed function sorting
computed: {
bets() {
console.log('yep');
return _.orderBy(this.bets, 'created_at')
}
},
But no matter what I try it always sets it to the bottom of the list on the view
javascript vue.js vue-component
javascript vue.js vue-component
asked Nov 11 at 7:22
GrahamMorbyDev
73111
73111
1
You aren't usingVue.set
properly. From the documentation, here is a proper example:this.$set(this.someObject, 'b', 2)
, wherethis.someObject
is the object which you want to set,'b'
is the attribute you want to change onthis.someObject
, and 2 is the new value to be set
– Derek Pollard
Nov 11 at 7:30
So that isnt the right way to append a new object to the group?? The way you putting it is that is the change a value within an object, is that correct?
– GrahamMorbyDev
Nov 11 at 7:47
add a comment |
1
You aren't usingVue.set
properly. From the documentation, here is a proper example:this.$set(this.someObject, 'b', 2)
, wherethis.someObject
is the object which you want to set,'b'
is the attribute you want to change onthis.someObject
, and 2 is the new value to be set
– Derek Pollard
Nov 11 at 7:30
So that isnt the right way to append a new object to the group?? The way you putting it is that is the change a value within an object, is that correct?
– GrahamMorbyDev
Nov 11 at 7:47
1
1
You aren't using
Vue.set
properly. From the documentation, here is a proper example: this.$set(this.someObject, 'b', 2)
, where this.someObject
is the object which you want to set, 'b'
is the attribute you want to change on this.someObject
, and 2 is the new value to be set– Derek Pollard
Nov 11 at 7:30
You aren't using
Vue.set
properly. From the documentation, here is a proper example: this.$set(this.someObject, 'b', 2)
, where this.someObject
is the object which you want to set, 'b'
is the attribute you want to change on this.someObject
, and 2 is the new value to be set– Derek Pollard
Nov 11 at 7:30
So that isnt the right way to append a new object to the group?? The way you putting it is that is the change a value within an object, is that correct?
– GrahamMorbyDev
Nov 11 at 7:47
So that isnt the right way to append a new object to the group?? The way you putting it is that is the change a value within an object, is that correct?
– GrahamMorbyDev
Nov 11 at 7:47
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
If you have an array of objects, just push it:
this.bets.push(latest)
Also, your orderBy
method should probably be sortBy
given what you want to do:
return _.sortBy(this.bets, bet => bet.created_at)
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
If you have an array of objects, just push it:
this.bets.push(latest)
Also, your orderBy
method should probably be sortBy
given what you want to do:
return _.sortBy(this.bets, bet => bet.created_at)
add a comment |
up vote
0
down vote
If you have an array of objects, just push it:
this.bets.push(latest)
Also, your orderBy
method should probably be sortBy
given what you want to do:
return _.sortBy(this.bets, bet => bet.created_at)
add a comment |
up vote
0
down vote
up vote
0
down vote
If you have an array of objects, just push it:
this.bets.push(latest)
Also, your orderBy
method should probably be sortBy
given what you want to do:
return _.sortBy(this.bets, bet => bet.created_at)
If you have an array of objects, just push it:
this.bets.push(latest)
Also, your orderBy
method should probably be sortBy
given what you want to do:
return _.sortBy(this.bets, bet => bet.created_at)
answered Nov 11 at 9:01
Ohgodwhy
33.6k63767
33.6k63767
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
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%2f53246669%2fthis-set-cant-sort-after%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
1
You aren't using
Vue.set
properly. From the documentation, here is a proper example:this.$set(this.someObject, 'b', 2)
, wherethis.someObject
is the object which you want to set,'b'
is the attribute you want to change onthis.someObject
, and 2 is the new value to be set– Derek Pollard
Nov 11 at 7:30
So that isnt the right way to append a new object to the group?? The way you putting it is that is the change a value within an object, is that correct?
– GrahamMorbyDev
Nov 11 at 7:47