我注意到当我使用自动完成功能时,Knockout似乎没有更新我的视图模型(例如,记住密码)。
我读到这是一个问题,但现在应该已经解决了。但它似乎并不适合我。
我主持了一个小问题的例子,如果你填写随机字符串+密码,按保存并“记住密码”并使用自动完成功能,observables电子邮件和密码不会得到更新,直到你关注相关的文本框,然后留下焦点。
使用IE 9或Firefox 18进行测试。
我不使用小提琴的原因是因为我似乎无法触发自动完成功能。
有什么想法吗?
答案 0 :(得分:3)
该值被值绑定覆盖,请看一下这个小提琴 http://jsfiddle.net/rniemeyer/TeFAX/
ko.bindingHandlers.valueWithInit = {
init: function(element, valueAccessor, allBindingsAccessor, context) {
var observable = valueAccessor();
var value = element.value;
observable(value);
ko.bindingHandlers.value.init(element, valueAccessor, allBindingsAccessor, context);
},
update: ko.bindingHandlers.value.update
};
此外,您必须等到浏览器设置该值
setTimeout(function() { ko.applyBindings(viewModel); }, 15);