define(['durandal/app', 'jquery'], function (app) {
return {
self: this,
title: 'Client Data',
canSubmit: ko.observable(false),
personalNumber: ko.observable().extend({
required: true,
minLength: 11,
maxLength: 11
}),
documentNumber: ko.observable(),
documentType: ko.observable(),
country: ko.observable(),
firstName: ko.observable(),
middleName: ko.observable(),
lastName: ko.observable(),
citizenship: ko.observable(),
age: ko.observable(),
sex: ko.observable(),
city: ko.observable(),
currentAddress: ko.observable(),
registrationAddress: ko.observable(),
phone: ko.observable(),
mobile: ko.observable().extend({
required: true
}),
email: ko.observable().extend({
email: true
}),
canSubmit: function(){
app.trigger('formIsValid:event', self.errors().length == 0);
return self.errors().length == 0;
},
validate: function() {
if (!self.canSubmit()) self.errors.showAllMessages();
},
compositionComplete: function() {
//alert(apiLocation());
$(document).on("keydown", ".personalID", function (k) {
if(k.keyCode == 13)
$(this).blur();
})
$(document).on("change", ".personalID", function() {
});
},
errors: ko.validation.group(self),
deactivate: function() {
self = null;
},
};
Когда я перемещаюсь от этой композиции, он по-прежнему хранит данные на входах. Как я могу сделать наблюдаемые не вспомнить значения после того, как уйдет, так что, когда я снова запустить эту композицию будет ясноDurandal Singletone Issue
спасибо за ваш ответ, но я забыл немного деталей. –
мне нужно быть validatedObservable: вар validationModel = ko.validatedObservable ({ самостоятельно: это, название: 'Клиент информация персонами', ошибки: ko.validation.group (Я), mustValidate: Ко. наблюдаемый (true) } –
Я не уверен, понял ли я, я думаю, что вы смешиваете понятия. ViewModel может содержать validateObservable, который может представлять вашу модель. Поэтому, когда виртуальная машина создается, ваша модель также будет создана , не проводя никаких ссылок на предыдущую активацию. См. edit – margabit