Я пытаюсь понять, как использовать плагин проверки Knockoutjs. На сайте проекта на github есть раздел начало работы, описывающий, как настроить модель представления с проверкой. В этом примере ViewModel объявлен как встроенный объект (правильная ли это терминология?) примерно так:
var myViewModel = ko.validatedObservable({
property1: ko.observable().extend({ required: true }),
property2: ko.observable().extend({ max: 10 })
});
console.log(myViewModel.isValid()); //false
myViewModel().property1('something');
myViewModel().property2(9);
console.log(myViewModel.isValid()); //true
Однако я хотел бы настроить свою модель представления с помощью такой функции:
function MyViewModel() {
var self = this;
self.property1 = ko.observable().extend({ required: true });
self.property2 = ko.observable().extend({ max: 10 });
};
var viewModelInstance = new MyViewModel();
console.log(viewModelInstance.isValid()); //false
viewModelInstance.property1('something');
viewModelInstance.property2(9);
console.log(viewModelInstance.isValid()); //true
Проблема в том, что я получаю сообщение об ошибке сценария о том, что мой объект viewModelInstance
не имеет метода isValid
.
ko.validatedObservable
, вы сразу добавляете уровень функциональности проверки к объекту (так же, как kojs выполняет корректировки геттера/настройки/отображения, когда вы используетеvar foo = ko.observable('bar')
вместоvar foo = 'bar';
). Чтобы пропустить это, будет удалена фактическая реализация, оставив вам (по сути) только метаданные без реализации. как насчет имитации того, что на самом деле выполняется< /а>? - person Brad Christie   schedule 30.07.2013