Czy nokaut custom element ma atrybut params powiązany z obiektem takim jak Component binding?Czy można przekazać element niestandardowy obiektowi dla params, tak jak komponent może powiązać komponent?
przykład I mają następujące składnik zdefiniowane:
ko.components.register('user-widget', {
template: '<p><span data-bind = "text:fullName" ></span></p>',
viewModel: function (params) {
this.fullName = params.firstName + ' ' + params.lastName;
}
});
I następujące VM:
function VM() {
this.user = {
firstName: 'Joe',
lastName: 'Baker'
};
}
W przypadku zastosowania składnika wiążącego może przekazać właściwość użytkownika o VM bezpośrednio params atrybut tak:
<div data-bind='component:{name:"user-widget", params:user}'></div>
Jednak przy użyciu niestandardowego elementu muszę rozpakować t on własnością użytkownika tak:
<user-widget params="firstName:user.firstName, lastName:user.lastName"></user-widget>
Próbowałem za element niestandardowy ze składnikiem wiążącym tak:
<user-widget data-bind='component:{params:user}'></user-widget>
co powoduje następujący błąd:
Cannot use the "component" binding on a custom element matching a component
To nie jest dokładnie to, czego szukam. Wiem, że mogę przekazać pojedynczy parametr jako obiekt, który pokazałeś. Jednak chcę powiązać atrybut params z pojedynczym obiektem, jak można zrobić z powiązaniem komponentu. –
Obawiam się, że to, czego szukasz, obecnie nie jest możliwe.Patrząc na źródło, niestandardowe komponenty będą szukały atrybutu 'params'. Używa jednak dostawcy powiązań do analizowania powiązań, więc jeśli chcesz, możesz wymyślić nowy schemat łączenia, aby zamiast tego użyć przekazanego obiektu jako sparsowanych powiązań. –
Przykro nam, że wygląda na to, że dostawcy powiązania nie można podłączyć. w tym przypadku –