Я пытаюсь опционально заменить описание небольшого действия поста на CustomComponent.
Однако пост некорректно передаётся в трансформер значений.
@cached
get CustomComponent() {
return applyValueTransformer("post-small-action-custom-component", null, {
actionCode: this.code,
post: this.post,
});
}
Мой код отладки:
api.registerValueTransformer(
"post-small-action-custom-component",
(arg) => {
console.log(arg);
}
);
Вывод:
context: Object { actionCode: "bid", post: undefined }
Тест не проверяет параметры, поэтому это остаётся незамеченным.
Полагаю, параметр post должен быть this.args.post, а не this.post.
Я пробовал обходное решение — безусловно добавлять компонент и заставлять его самому решать, что делать, но, к сожалению, похоже, что аргументы тоже передаются некорректно, поэтому и обходной путь, и нормальная реализация здесь не работают:
<this.CustomComponent
@code={{this.code}}
@post={{this.post}}
@createdAt={{this.createdAt}}
@path={{this.path}}
@username={{this.username}}
/>
В PostSmallAction есть геттеры для code, createdAt и path, но (опять же) this.post не существует, а username() тоже, кажется, имеет баг (в this.args.post нет action_code_who?), поэтому эти атрибуты остаются пустыми.
Я не могу найти существующую «реальную» реализацию. Неужели я первый, кто пытается это использовать? ![]()