반응형
동적으로 등록된 모듈의 순서 설정
내 어플리케이션에는 메인 모델이 하나 있는데, 그 모델을 호출해 봅시다.users모듈이 있습니다.users그 안에 있는 서브모듈이list.
api 엔드포인트를 사용하면 10명의 사용자가 사용자 배열로 돌아갑니다.각 사용자에 대해 동적으로 등록합니다.user각 모듈 내의list내부 모듈users사용방법id열쇠로 삼습니다.
this.registerModule(['users', 'list', user.id], UserModule);
그리고 나서 나는 내 상점에 있는 데이터에 수분을 공급하기 위해 몇 가지 조치를 취한다.이 모든 게 잘 작동한다.
파싱하는 게터가 있어요listmodule(포함된 객체)id를 가리키는 키로서user)를 일련의 사용자로 변환합니다.다음과 같습니다.
users: (state) => {
const users = Object.keys(state.list).map(key => state.list[key]);
return users;
}
문제
언제vuex개인을 동적으로 등록하다UserModule이 명령어는 다음 명령어느끼고list모듈을 등록하는 순서가 아니라 알파벳 순으로 모듈을 등록합니다.API에서 들어오는 사용자 배열과 동일한 순서를 원하기 때문에 문제가 됩니다.
예
엔드포인트가 다음과 같이 2명의 사용자를 반환하는 경우:
[
{ id: '3', name: 'Bob'},
{ id: '1', name: 'Tom'}
]
다음으로 목록 모듈은 다음과 같습니다.
state: {
list: {
1: { id: '1', name: 'Tom'},
3: { id: '3', name: 'Bob'}
}
}
그리고 그users그러면 getter가 반환됩니다.
[
{ id: '1', name: 'Tom'},
{ id: '3', name: 'Bob'},
]
잠정적인 해결책은 각 모듈이 소비될 때 각 모듈에 주문 속성을 삽입하고 그 주문 속성을 기준으로 getter 정렬하는 것입니다.아무 이유 없이 루프를 추가하여 정렬하는 것 같아서 기분이 좋지 않습니다.
질문
- 알파벳 순으로 등록하는 것이 아니라 들어오는 대로 동적으로 등록 모듈을 주문할 수 있는 방법이 있습니까?
- "주문" 속성을 주입하는 것 외에 이 문제에 대한 더 나은 해결책을 생각해 낼 수 있는 사람이 있을까요?
언급URL : https://stackoverflow.com/questions/50489777/set-ordering-of-dynamically-registered-modules
반응형
'programing' 카테고리의 다른 글
| Vuex에서 AssertionError를 {개체(유형, 텍스트)}과(와) 동일하게 던지는 단위 테스트 (0) | 2022.07.21 |
|---|---|
| C의 거듭제곱으로? (0) | 2022.07.21 |
| Nuxt를 사용하는 구성 요소에서 Vuex 저장소 상태에 액세스 (0) | 2022.07.21 |
| vue2: 컴포넌트에 여러 개의 소품을 전달할 수 있습니까? (0) | 2022.07.21 |
| 어레이 길이 속성은 어디에 정의됩니까? (0) | 2022.07.21 |