Mam mały problem z próbą uzyskania interfejsu użytkownika jQuery i nokautu do współpracy. Zasadniczo chcę stworzyć akordeon z przedmiotami dodawanymi z nokautu przez foreach (lub szablon).knockout.js i jQueryUI do utworzenia menu akordeonu
Kod podstawowy jest następujący:
<div id="accordion">
<div data-bind="foreach: items">
<h3><a href="#" data-bind="text: text"></a></h3>
<div><a class="linkField" href="#" data-bind="text: link"></a></div>
</div>
</div>
nic specjalnego tu ... Problem polega na tym, że jeśli zrobię coś takiego:
$('#accordion').accordion();
Akordeon zostanie utworzona, ale wewnętrzna div będzie selektorem nagłówka (pierwsze dziecko, domyślnie), więc efekt nie jest pożądany.
Mocowanie rzeczy z tym:
$('#accordion').accordion({ header: 'h3' });
wydaje się działać lepiej, ale faktycznie tworzy 2 akordeony, a nie jeden z odcinków 2 ... dziwne.
Próbowałem zbadać szablony nokautów i używając "afterRender", aby ponownie zharmonizować div, ale bezskutecznie ... wydaje się ponownie renderować tylko pierwsze łącze jako akordeon, a nie drugie. Prawdopodobnie jest tak ze względu na moją początkującą znajomość jquery UI.
Czy masz pojęcie, jak sprawić, aby wszystko działało razem?
Yup - to jakiś poważny accordioning. – PhillipKregg
Jest to interesujące i odpowiada na to, o co pytałem, chociaż wydaje się nieco odrażające:/ Prawdopodobnie powinienem zajrzeć do niestandardowych wiązań, aby lepiej zrozumieć. Dzięki za link! – Tallmaris
Moim zdaniem niestandardowe wiązania są niezbędne do zrozumienia nokautu i używania – AlfeG