Вопросы с тегом «knockout.js»

Knockout.js - это библиотека JavaScript с открытым исходным кодом для динамических пользовательских интерфейсов HTML, использующая шаблон модель-представление-представление (MVVM).

9
Как очистить / удалить наблюдаемые привязки в Knockout.js?
Я создаю функциональность на веб-странице, которую пользователь может выполнять несколько раз. В результате действия пользователя объект / модель создается и применяется к HTML с помощью ko.applyBindings (). HTML-код с привязкой к данным создается с помощью шаблонов jQuery. Все идет нормально. Когда я повторяю этот шаг, создавая второй объект / модель …

4
Как условно поместить элемент в наблюдаемый массив?
Я хотел бы pushдобавить новый элемент в observableArray, но только если этот элемент еще не присутствует. Есть ли в KnockoutJS какая-либо функция «найти» или рекомендуемый шаблон для достижения этого? Я заметил, что removeфункция в элементе observableArrayможет получать функцию для передачи в условие. Мне почти нужна такая же функциональность, но нажимать …
103 knockout.js 

4
Получение «Невозможно прочитать свойство 'nodeType' of null» при вызове ko.applyBindings
У меня есть этот нокаут-код: function Task(data) { this.title = ko.observable(data.title); this.isDone = ko.observable(data.isDone); } function TaskListViewModel() { // Data var self = this; self.tasks = ko.observableArray([]); self.newTaskText = ko.observable(); self.incompleteTasks = ko.computed(function() { return ko.utils.arrayFilter(self.tasks(), function(task) { return !task.isDone() }); }); // Operations self.addTask = function() { self.tasks.push(new Task({ …

4
Определите, является ли свойство объекта ko.observable
Я использую KnockoutJS версии 2.0.0 Если я перебираю все свойства объекта, как я могу проверить, является ли каждое свойство свойством ko.observable? Вот что я пробовал до сих пор: var vm = { prop: ko.observable(''), arr: ko.observableArray([]), func: ko.computed(function(){ return this.prop + " computed"; }, vm) }; for (var key in …

4
Как шаблонизировать структуры If-Else в представлениях с привязкой к данным?
Я постоянно использую эту идиому в шаблонах HTML на основе 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 --> Есть ли лучший / более чистый способ делать условные выражения в KO, или есть …

4
Как иметь несколько атрибутов привязки данных к одному элементу?
Мне нужно иметь несколько привязок данных к одному элементу. Например, я хочу href, а также htmlсвязывание данных-на одном a метке. Я пробовал это, <a data-bind="html: name" data-bind="attr: { href: url }" data-bind="attr: { 'data-prop': xyz }"> </a> Но это не работает. Кажется, нокаут поддерживает привязку только одного data-bind свойства? Как …

1
Как создать архитектуру веб-приложения с помощью jquery-mobile и knockoutjs
Я хотел бы создать мобильное приложение, основанное только на html / css и JavaScript. Хотя у меня есть неплохие знания о том, как создать веб-приложение с помощью JavaScript, я подумал, что могу взглянуть на фреймворк, например jquery-mobile. Сначала я думал, что jquery-mobile - это не что иное, как фреймворк для …

2
Индекс доступа $ parent в knockout.js
В knockout.js 2.1.0 в шаблоне, использующем привязку foreach, вы можете получить доступ к индексу текущего элемента с помощью функции $ index (). Есть ли способ получить доступ к индексу родительского элемента $ из шаблона во вложенной привязке foreach? Скажем, у меня есть такая структура данных: var application = { topModel: …

10
изменить событие при выборе с привязкой нокаута, как я могу узнать, действительно ли это изменение
Я создаю пользовательский интерфейс разрешений, у меня есть список разрешений со списком выбора рядом с каждым разрешением. Разрешения представлены наблюдаемым массивом объектов, которые привязаны к списку выбора: <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> …

1
Связанное входное значение Knockout.js не обновляется, когда я использую jquery .val ('xyz')
У меня есть вход, который имеет привязку к значению. Когда я обновляю значение с помощью метода jquery .val (), измененное значение не отражается в viewModel. Мне нужно использовать jQuery, чтобы установить это значение. Как я могу запустить обновление viewModel?

12
Knockout.js невероятно медленный при полу-больших наборах данных
Я только начинаю работать с Knockout.js (всегда хотел попробовать, но теперь у меня наконец-то есть оправдание!). Однако при привязке таблицы к относительно небольшому набору таблиц у меня возникают серьезные проблемы с производительностью. данные (около 400 строк или около того). В моей модели есть такой код: this.projects = ko.observableArray( [] ); …

5
Получить предыдущее значение наблюдаемого в подписке на тот же наблюдаемый
Возможно ли в нокауте получить текущее значение наблюдаемого в подписке на этот наблюдаемый объект до того, как он получит новое значение? Пример: 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 });

8
Привязка true / false к переключателям в Knockout JS
В моей модели представления у меня есть значение IsMale, которое имеет значение true или false. В моем пользовательском интерфейсе я хочу привязать его к следующим переключателям: <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> Проблема, я думаю, в том, checkedчто ожидается строка «истина» / …

1
knockout.js - Получить ViewModel из элемента DOM
возможно ли получить привязанный объект JavaScript ViewModel из заданного элемента DOM? ko.applyBindings( gLoginViewModel, document.getElementById("login-form") ); ko.applyBindings( gLoginViewModel, document.getElementById("register-form") ); и где-то еще - в довольно несвязанном коде - примерно так: var viewModel = ko.getViewModel( formElement ); viewModel.someObservable( someData ); // observable available in all ViewModels было бы даже лучше, если …


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.