Komponuję to w widoku, a następnie próbuję wywołać funkcję .datepicker() na wyniku, ale nic się nie dzieje.. Request wywołanie wewnątrz funkcji aktywacji Durandala nie działa
komponować pojemnik
<div>
<!--ko compose: { model:'viewmodels/schedule', view: 'views/schedule.html', activate:true} -->
<!--/ko-->
</div>
schedule.html
<div class="schedule-editor">
</div>
i moduł harmonogram
define([], function() {
var vm = {
activate: activate,
};
return vm;
function activate() {
$('.schedule-editor').datepicker();
console.log("activated schedule module");
return true;
}
});
Conso le logs "aktywowany moduł harmonogramu", ale datepicker nie jest tworzony. Jeśli przejdę do konsoli chrome i uruchomię wywołanie jQuery, $('.schedule-editor').datepicker();
, to pokaże datepicker dobrze.
Dokumenty Durandala twierdzą, że funkcja aktywacji jest wywoływana po pełnym składzie DOM, więc nie wiem, co jeszcze można spróbować.
Spróbuj umieścić logikę jQuery w metodzie "viewAttached" zamiast metody "activate". – nemesv