Articles of knockout.js

propiedad ko.computed para determinar la visibilidad no funciona

En mi ViewModel KncokoutJS, tengo la siguiente propiedad computada: self.SelectedUserHasRoles = ko.computed(function () { if (self.isLoaded()) { return self.selectedUser().roles().length > 0; } return false; }); Y en mi HTML, tengo lo siguiente: User has no Roles. En mi código, tenía que decir esto: Si los datos de la llamada AJAX han finalizado la carga ( […]

Knockout textInput y entrada de enmascaramiento plugin

¿Existe una manera fácil de usar data-bind=”textInput: aProperty” y agregar una máscara de entrada o algún formato automático según el tipo de usuario ? El uso del tipo de complemento de entrada enmascarado funciona, pero pierdo las actualizaciones “a medida que se escribe” que proporciona “textInput:” de Knockout, por lo que otras partes de la […]

¿Cómo pasar el valor de un modelo de vista a otro viewmodel en knockout js?

Tengo dos modelos de vista y quiero pasar el valor de un modelo de vista a otro modelo de vista. Tengo dos modelos de visualización y dos div. Quiero mostrar otra división al hacer clic en el botón que está presente en la división 1. Aquí está el código html Container1 item Item show another […]

La validación de la fecha de eliminación no funciona correctamente

Necesito validar la fecha en formato localizado (SK) y no es posible con la validación de eliminación directa. Estoy usando: Durandal 1.2.0 Knockout 2.3.0 Knockout validation https://github.com/Knockout-Contrib/Knockout-Validation Necesito algo como esto para estar trabajando: var newStartDate = ko.observable() .extend({ required: { message: ‘Start date is required.’ }, date: true, formattedDate: { format: ‘ddMMyyyy’, delimiter: ‘.’ […]

¿Por qué una función en un modelo de vista secundario provoca que se active una función en el modelo de vista principal?

Esta es una pregunta de seguimiento para este: En el siguiente código, func es una función simple que está limitada a un div padre. Naturalmente, se dispara cuando se carga un documento, pero también se dispara cuando se presiona el botón. Como se explicó en la respuesta a la pregunta vinculada, pensé que esto podría […]

Resaltar fila seleccionada utilizando nocaut

Con referencia a la siguiente pregunta hecha en stackoverflow Mostrar elemento pulsado He modificado el violín creado por John Papa. Aquí está mi violín actualizado http://jsfiddle.net/6FCEe/31/ He agregado el botón Nuevo y al hacer clic en él, presiono el nuevo registro. En el evento de clic del botón Nuevo, he agregado el código siguiente this.NewDetail […]

Cree un modelo de nocaut y vea dinámicamente, no se configuran los botones de radio

Estoy en el proceso de hacer que una de mis preguntas anteriores sea completamente dinámica, ya que el modelo se construye a partir de los datos del servidor, y la vista se desplaza a través del modelo de vista a través de la funcionalidad de nocaut ko foreach . Los problemas que estoy enfrentando son: […]

Enlace de datos: {foreach:…} para múltiples arreglos

¿Es posible usar data-bind: foreach para más de una matriz? Por ejemplo: //do stuff Si es posible, ¿cuál es la syntax correcta para ello? ¿O cuál es la forma correcta de hacer esto (además de combinar las dos matrices)?

¿Cómo eliminar las claves de enlace de datos y los valores observables utilizando el elemento?

Necesito obtener claves de enlace de datos y valor observable usando el elemento. var ViewModel = { selectOptions:ko.observableArray([…]), selectedValue:ko.observable() … some other stuff … } En otro modelo de vista, puedo acceder al elemento dom ahora, necesito actualizar el contexto de enlace del elemento observable. ¿Cómo puedo obtener claves y valores de enlace de datos? […]

No se puede unir correctamente la matriz observable de observables

Tengo el siguiente código que debe enlazar observableArray de observables. Upload function vm() { var self = this; this.langs = ko.observableArray([]); this.initiate = function(){ self.langs = ko.observableArray([]); for (var i = 0; i < 4; i++){ self.langs.push(ko.observable('start')); } } this.initiate(); this.loadTag = function(){ for (var i = 0; i < 4; i++){ self.langs()[i](i); } } […]