【发布时间】:2013-06-09 05:13:18
【问题描述】:
是否可以在 Knockout JS 中查看附加到可观察对象的所有扩展程序和绑定?
示例视图模型:
var viewModel = function(){
var self = this;
self.firstName = ko.observable().extend({required: "Please enter a name",
logChange: "first name" });
self.lastName = ko.observable().extend({ required:true});
}
除了KO Validation Plugin之外,我还使用了几个自定义绑定处理程序,包括Knockout X-Editable Plugin
示例多页视图:
<!--Screen 1 -->
<input data-bind="value:firstName"/>
....
<!--Screen 2 -->
<span data-bind="editable:firstName"></span>
A.有没有办法查询self.firstName() 并获取所有扩展程序的列表?
{required: "Please enter a name", logChange: "first name" }
B.我可以运行另一个查询来获取依赖于这个 observable 的所有绑定处理程序吗?这可以作为 DOM 元素返回吗?
基本上我试图显示导入数据的验证错误,但如果我在第二个视图上,我想将它们附加到<span data-bind="editable"/> 下方。
单独验证每个输入时这很简单,但使用ko.validation.group(viewModel) 时就变得复杂了。即使我遍历每个错误,我也看不到如何将它们与引发错误的原始 observable 关联起来。
【问题讨论】:
标签: knockout.js knockout-2.0 knockout-validation