(JsFiddle)可观察到的敲除在绑定到console.log的屏幕上显示出不同的值

穆克

在研究另一个问题的过程中,我发现了一个非常奇怪的现象,其中<span>与可观察对象绑定显示为“ true”,而单击运行函数的按钮将其记录到控制台窗口中则显示为“ false”!

小提琴在这里:http : //jsfiddle.net/fbc0w39w/1/

单击绿色按钮,在chrome中使用F12显示控制台窗口,单击“记录”,然后在控制台中看到“ true”。您还将在“提交”按钮下方看到“ true”。然后清除用户登录中的文本,单击其他位置(模糊时值更新),然后在登录框中查看错误消息。提交按钮下方的值保持为true。再次点击“登录”按钮,瞧!它将记录为“ False”,这是应该做的。

据我所知,这两个值都来自vo.isValid变量...?

用户名

这可能是问题所在:在您的getData函数中,您要用新的替换整个函数validatedObservable底部的两个UI元素绑定到旧的isValid可观察对象。

我不确定使用the的“正确”方法validationObservable是什么(从未使用过),但是通过将其嵌套在一个可观察的对象中,您可以看到它是一个问题:

self.vo = ko.observable(ko.validatedObservable());

self.getData = function() {
  self.selectedUser(ko.mapping.fromJS(data, validationMapping));
  self.vo(ko.validatedObservable(self.selectedUser(), {deep: true, live: true, observable: true}));
}; 

因此,您可能希望找到一种方法,以确保validatedObservable公正者对变更做出反应selectedUser而无需实例化新变更

这是一个“有效的”小提琴:http : //jsfiddle.net/st5e0r1o/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

RxJs可观察到的重复值

Aurelia使可绑定行为在对象属性上可观察到

比较2可观察到的不同结构

在表中显示动态可观察到的数组

异步管道未显示可观察到的数据

在后台线程上可观察到的进程

Redux上可观察到的理想商店订阅

在axios上使用可观察到的redux

从可观察到的字符串值

可观察到的发射值不会延迟

可观察到不发出任何值

RxJava:可观察到的发出重复值

@ ionic-native /从可观察到的网络值捕获

RXJS可观察到的转换数组为多个值

可观察到的异步管道未返回值

保持可观察到的错误并返回所有值

flatMap()上可观察到的调度程序会影响外部可观察到的调度程序吗?

我想将ID添加到div中,与敲除中可观察到的数组的第一个值相同

将Asp.Net MVC json结果绑定到敲除.js可观察到的数组

不变失败:不允许在操作之外更改观察到的可观察值

Mobx不允许在动作外部更改观察到的可观察值

可观察到对不同线程上更改的队列没有反应

使用RxJS过滤单个值并返回可观察到的值,并通过Angular模板中的async使用可观察到的值

如何在html上显示此可观察到的淘汰赛?

RXJava-缓冲区可观察到1,直到可观察到2发出一项

如何将ngclass绑定到可观察值

角度:绑定到服务的可观察属性->值不会更新

绑定为可观察到的敲除时如何更新ckeditor数据?

仅对布尔值可观察到的假值进行反跳