Knockout.js to biblioteka JavaScript typu open source dla dynamicznych interfejsów użytkownika HTML korzystająca ze wzorca Model-View-View Model (MVVM).
Buduję funkcjonalność na stronie internetowej, którą użytkownik może wykonywać wielokrotnie. W wyniku działania użytkownika obiekt / model jest tworzony i stosowany do HTML za pomocą ko.applyBindings (). Powiązany z danymi kod HTML jest tworzony za pomocą szablonów jQuery. Na razie w porządku. Kiedy powtarzam ten krok, tworząc drugi obiekt / …
Chciałbym pushdodać nową pozycję do przedmiotu observableArray, ale tylko wtedy, gdy przedmiot nie jest już obecny. Czy jest jakaś funkcja „znajdź” lub zalecany wzorzec do osiągnięcia tego w KnockoutJS? Zauważyłem, że removefunkcja na an observableArraymoże otrzymać funkcję do przekazania warunku. Chcę prawie mieć tę samą funkcjonalność, ale tylko wtedy, gdy …
Używam KnockoutJS wersji 2.0.0 Jeśli przeglądam wszystkie właściwości obiektu, jak mogę sprawdzić, czy każda właściwość jest ko.observable? Oto, czego próbowałem do tej pory: var vm = { prop: ko.observable(''), arr: ko.observableArray([]), func: ko.computed(function(){ return this.prop + " computed"; }, vm) }; for (var key in vm) { console.log(key, vm[key].constructor === …
Potrzebuję wielu powiązań danych w jednym elemencie. Na przykład, chcę hrefjak również htmlwiązania danych na jednej a zmiennej. Próbowałem tego, <a data-bind="html: name" data-bind="attr: { href: url }" data-bind="attr: { 'data-prop': xyz }"> </a> Ale to nie działa. Wygląda na to, że nokaut obsługuje tylko wiązanie jednej data-bind właściwości? Jak …
Ciągle używam tego idiomu w szablonach HTML opartych na KO: <!-- ko if: isEdit --> <td><input type="text" name="email" data-bind="value: email" /></td> <!-- /ko --> <!-- ko ifnot: isEdit --> <td data-bind="text: email"></td> <!-- /ko --> Czy istnieje lepszy / czystszy sposób wykonywania warunków warunkowych w KO, czy też istnieje lepsze …
Chciałbym zbudować aplikację mobilną, uwarzoną tylko z html / css i JavaScript. Chociaż mam przyzwoitą wiedzę na temat tworzenia aplikacji internetowych za pomocą JavaScript, pomyślałem, że mogę zajrzeć do frameworka takiego jak jquery-mobile. Na początku myślałem, że jquery-mobile to nic innego jak framework widgetów, który jest przeznaczony dla przeglądarek mobilnych. …
W knockout.js 2.1.0 w szablonie korzystającym z powiązania foreach można uzyskać dostęp do indeksu bieżącego elementu za pomocą funkcji $ index (). Czy w zagnieżdżonym powiązaniu foreach istnieje sposób uzyskania dostępu do indeksu elementu macierzystego $ parent z szablonu? Powiedzmy, że mam taką strukturę danych: var application = { topModel: …
Buduję interfejs użytkownika dotyczący uprawnień, mam listę uprawnień z listą wyboru obok każdego uprawnienia. Uprawnienia są reprezentowane przez obserwowalną tablicę obiektów, które są powiązane z listą wyboru: <div data-bind="foreach: permissions"> <div class="permission_row"> <span data-bind="text: name"></span> <select data-bind="value: level, event:{ change: $parent.permissionChanged}"> <option value="0"></option> <option value="1">R</option> <option value="2">RW</option> </select> </div> </div> …
Mam wejście, które ma knockout powiązanie z wartością. Kiedy aktualizuję wartość za pomocą metody .val () jquery, zmieniona wartość nie jest odzwierciedlana w viewModel. Aby ustawić tę wartość, muszę użyć jQuery. Jak mogę wyzwolić aktualizację ViewModel?
Dopiero zaczynam pracę z Knockout.js (zawsze chciałem go wypróbować, ale teraz w końcu mam wymówkę!) - Jednak napotykam naprawdę złe problemy z wydajnością, gdy wiążę tabelę ze stosunkowo małym zestawem dane (około 400 wierszy). W moim modelu mam następujący kod: this.projects = ko.observableArray( [] ); //Bind to empty array at …
Czy w knockout można uzyskać bieżącą wartość obserwowalnego w ramach subskrypcji tego obserwowalnego, zanim otrzyma nową wartość? Przykład: this.myObservable = ko.observable(); this.myObservable.subscribe(function(newValue){ //I'd like to get the previous value of 'myObservable' here before it's set to newValue });
W moim modelu widoku mam wartość IsMale, która ma wartość true lub false. W moim interfejsie użytkownika chcę powiązać go z następującymi przyciskami radiowymi: <label>Male <input type="radio" name="IsMale" value="true" data-bind="checked:IsMale"/> </label> <label>Female <input type="radio" name="IsMale" value="false" data-bind="checked:IsMale"/> </label> Myślę, że problem polega na tym, że checkedoczekuje łańcucha „prawda” / „fałsz”. …
czy jest możliwe uzyskanie powiązanego obiektu JavaScript ViewModel z danego elementu DOM? ko.applyBindings( gLoginViewModel, document.getElementById("login-form") ); ko.applyBindings( gLoginViewModel, document.getElementById("register-form") ); a gdzie indziej - w raczej niepowiązanym kodzie - coś takiego: var viewModel = ko.getViewModel( formElement ); viewModel.someObservable( someData ); // observable available in all ViewModels byłoby nawet lepiej, gdybym …
Próbuję pokazać jakąś marżę na podstawie wartości $index, mogę wyświetlić wartość, ale nie mogę jej użyć z ifwiązaniem, jakie jest najlepsze podejście tutaj? <!-- ko if: $index===0 --> <div>some mark up here</div> <!-- /ko -->
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.