Javascript 在会话存储中以角度设置多个值
我试图在单击事件时向存储器发送一个对象和一个int。它们需要被映射到一起。 我不知道这个的语法 带有onClick更改的HTML-Javascript 在会话存储中以角度设置多个值,javascript,html,json,angular,Javascript,Html,Json,Angular,我试图在单击事件时向存储器发送一个对象和一个int。它们需要被映射到一起。 我不知道这个的语法 带有onClick更改的HTML- 租金 购买您可以使用排列运算符 export class AppComponent { public obj: {} = {"name": "peter"}; constructor() { console.log (this.obj); console.log ({...this.obj,
租金
购买
您可以使用排列运算符
export class AppComponent {
public obj: {} = {"name": "peter"};
constructor() {
console.log (this.obj);
console.log ({...this.obj, "age": 22});
}
}
第一步是将电影及其价格存储在同一对象中:
const record = { movie, price };
sessionStorage.setItem('movie', record);
然而,这样你就不能轻易地存储多部电影或通过id检索它们
更好的方法是将所有电影存储在一个共享对象中
const record = { movie, price };
// Default to empty dictionary if there is no movies record yet.
const existingMoviesJSON = sessionStorage.getItem('movies') || '{}';
const movies = JSON.parse(existingMoviesJSON);
// Assuming your movie has an id, but you could also use a unique name.
movies[movie.id] = record;
sessionStorage.setItem('movies', JSON.stringify(movies));
这样,您就可以按id检索电影的价格:
getMovieFromCart(movieId) {
const movies = JSON.parse(sessionStorage.getItem('movies') || '{}');
// Will return undefined if the movieId can't be found in the dictionary so be sure to handle this error.
return movies[movieId];
}
您是否尝试过JSON.parse(sessionStorage.movie)?“将价格映射到对象”是什么意思?类似于
{price:price,movie:movie}
或者简而言之{price,movie}
?我的意思是,我如何以这样的方式发送特定的电影对象和价格,当我尝试获取特定的电影对象时,我也可以获取随电影发送的价格。