забираем из state нужный объектзачем? делайте просто запрос к БД для конкретного поста. когда юзер заходит на /posts/:id, просто вытягиваете этот id и делаете action. сделайте для этого дела отдельное поле в хранилище currentPost, типа:
state: {
posts: [{}, {}, {}, ...],
currentPost: {}
}
// posts.vue
created() {
api.getPosts({
limit: 20,
offset: 20
})
.then(posts => this.$store.commit('SET_POSTS', posts))
}
// post.vue
created() {
const postID = this.$route.params.id
api.getPost({
id: postID
})
.then(post => this.$store.commit('SET_CURRENT_POST', post))
}
раз не один комментатор не смог чётко и ясно это объяснитьнет. объяснили все ок. просто вы никак не понимаете
Во вторых, в ссылке, что вы далида, т.к. вы не понимаете как фугкции работают. вы ни как не можете отличить вызов функции от определения функции. вы не понимаете что функцию можно передавать по ссылке точно так же как и строку или число(это вы как раз и делаете в примере - в переменную func вы передаете внутреннюю функцию, она(внутрянняя функция) вернулась в результате вызова внешней(inBetween) функции, т.е. иначе говоря
func = inBetween(3, 6)
).Вопрос, как тогда значения 3 и 6 попадут в "a и b"они в замыкании внутренней функции будут! т.е. она созранит их в своей области видимости.
И каким образом в строке if(func(val)) сюда попадает не внешняя функция, а внутренняяпотому что мы ее туда передали на 21 строчки вашего скриншота как результат вызова функции inbetween!
filter(arr, inBetween(3, 6))
var val = arr[i];
поясняла бы данный моменткакой момент? это элементарщина, тут и пояснять нечего, вы не понимаете элементарщину. я уж и не знаю как вам еще понятнее объяснить. если сравнивать со школой, то это все равно что не понимать уравнение 2+2=4
Непонятны пока тонкости всей работынет тут тонкостей, все очень и очень толсто. разбирайтесь
что означает в ЭТОЙ функции "x"x - это параметр функции. и вы потом в функции filter, когда вызываете func, передаете в качестве этого параметра переменную val -
func(val)
.Я хотел, дать сказать, что не понимаю, о каком результате вы говорите,я говорю о РЕЗУЛЬТАТЕ ВЫЗОВА ФУНКЦИИ. три термина: функция(кофеварка), вызов функции(нажатие кнопки «приготовить кофе») и результат вызова функции (струйка кофе).
// функция
function inBetween(a, b) {
return function(x) {
return x >= a && x <= b;
};
}
// вызов функции
inBetween(3, 6)
// результат вызова функции
function(x) {
return x >= a && x <= b;
};
// этот результат вы и передаете как func.
// т.е. внутри filter func заментися на результат вызова функции.
// а переменные a и b есть замыкания и они будут равны значениям, которые вы указалии при вызове функции inbetween. в нашем случае это 3 и 6.
//компрендо?