我有两个组件string path = @"C:\Users\gmbalaa\Desktop\Test.txt";
if (File.Exists(path))
{
var arrVal = File.ReadAllLines(path);
}
和add-product.component
在我的show-list组件中,我的列表来自list-product API,此API在body中有3个参数(user_id,session_key,page)。第3个参数页面只是当list = 0时将list-product分成15,如果page = 1我有30个元素......等等
问题是当我想在show-list.component
中添加产品时,我希望add-product.component
显示它而不刷新页面以再次获取API调用,所以我想添加然后新产品以特殊的方式,当用户刷新页面时,API中的真实元素出现并显示在show-list Component中。
我试图调用2个API来实现这一点,所以当我添加新产品时添加产品API调用和onSuccess列表产品API调用,但这里的问题是元素不能起初因为我使用这样的推送数据:
show-list.component
在我的HTML中:
this.result.data.products.forEach(item => {
this.data.push(item);
});
在我的控制台中: Elements from API
现在,如果我添加id = 3906的新产品,如何将此元素添加到其他元素之上,如果用户刷新页面我没有问题,因为它已经是第一个元素了。
答案 0 :(得分:0)
如果您希望对值数组进行排序,那么您可以做的一件事就是在添加新元素后重新排序数组:
this.data.push(item); // or push many items
this.data.sort(function(a,b) {
return a.product_id - b.product_id;
});
这样,新值将处于正确的位置。
答案 1 :(得分:0)
如果要在数组的开头添加元素,请使用Array.unshift()
代替Array.push()
。