Hom*_*mer 4 knockout.js knockout-validation
我刚刚注意到使用节流扩展器会导致Knockout Validation停止工作.有没有解决这个问题的方法?
var viewModel = {
label1: ko.observable('label1').extend({required: true}),
label2: ko.observable('label2').extend({required: true, throttle: 1}),
};
ko.applyBindings(viewModel);
Run Code Online (Sandbox Code Playgroud)
jsFiddle:http://jsfiddle.net/rWqkC/
在这种情况下,扩展器的顺序很重要,因为throttle扩展器返回一个新的ko.dependentObservable,这就是为什么如果你有第required一个那么它将应用于错误的可观察量.
更改订单,它应该工作:
ko.observable('label2').extend({throttle: 500, required: true }),
Run Code Online (Sandbox Code Playgroud)
但是因为在属性声明的顺序中的扩展程序执行没有真正定义,所以如果在这种情况下使用use two extends,则更安全:
ko.observable('label2').extend({throttle: 500}).extend({required: true })
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
921 次 |
| 最近记录: |