我有两个与1对1相关的实体:加载和移动。 load对象包含load_id,move对象包含load_id。在UI中显示时,它将使用* ngFor循环显示组合对象。
export interface LogisticsState {
plans: fromPlan.State;
loads: fromLoad.State;
moves: fromMove.State;
}
export const getPlansState = (state: LogisticsState) => state.plans;
export const getMoveState = (state: LogisticsState) => state.moves;
export const getLoadState = (state: LogisticsState) => state.loads;
我的选择
export const getMoveEntities = createSelector(getMoveState, fromMove.getEntities);
export const getLoadEntities = createSelector(getLoadState, fromLoad.getEntities);
export const getSelectedMoveId = createSelector(getMoveState, fromMove.getCurrentMoveId);
在我的组件中,我有两个可观察者在移动时单独监听并加载。
我正在尝试编写一个createSelector来返回一个包含组合对象/实体的新对象。
注意:我不想在商店中将它们组合在一起,因为在这个特定的页面上它只是像报告一样读取,但在另一个组件上它将被单独编辑。
初步方法
export const getLoadByMoveIdEntities = createSelector(getLoadState, getSelectedMoveId, (loads: LogisticsLoad[], selectedMove: LogisticsMove) => {
if (loads && selectedMove) {
return loads.filter((load: LogisticsLoad) => load.LoadId === selectedMove.LoadId);
} else {
return loads;
}
});
这种方法不起作用,因为它要求我在我的状态下设置selectedMoveId。页面上可以显示100多条记录。
答案 0 :(得分:1)
这种方法不起作用,因为它要求我在我的状态下设置selectedMoveId。页面上可以显示100多条记录。
您可以使用此尝试但使用import java.io.*;
import java.util.*;
public class MyFinal3
{
static void exceptionFinal() throw RuntimeException eE{
System.out.println("Inside exceptionFinal");
throw RuntimeException();
}
public static void main(String []args)
{
double myDouble[] = new double[5];
try {
exceptionFinal();
System.out.println("Access element sixth :" +
myDouble[6]);
}
catch (RuntimeException eE) {
System.out.println("Exception thrown: 1");
}
catch (Exception eE) {
System.out.println("Exception thrown: 2");
}
catch (ArrayIndexOutOfBoundsException eE) {
System.out.println("Exception thrown: 3" );
}
finally {
System.out.println("Exception end" );
}
System.out.println("Out of the block");
}
}
数组而不是单个getCurrentMoveIds
的方法。因此,商店中应该有一个数组,其中包含您提到的100多条记录的ID。同时尝试使用微小的选择器并将它们结合起来。一个示例方法:
getCurrentMoveId
如果您愿意,甚至可以在选择器中合并这两个实体数组。