Я определил функцию подписки в нокауте следующим образом:Нокаут функция подписки прикрепить к списку свойств
// subscriber for autosave function that is within handler
ko.subscribable.fn.withAutoSave = function (prop, handler) {
var self = this;
//subscribe to changes
this.subscribe(handler.bind(this, self, prop));
return this;
};
и это, как я придаю это имущество:
self.CompanyName = ko.observable(data.CompanyName).withAutoSave("CompanyName", saveFieldValueFunction.bind(this, this.Id));
Есть способ и правильный синтаксис, с помощью которого я могу сделать что-то вроде этого:
1) define propertyname array: var propertynames = ['CompanyName', 'Property1', 'Property2' ...];
2) цикл через все propertynames и подписаться: withAutoSave(propertyName, saveFieldValueFunction.bind(this, this.Id));
я опишу, почему мне это нужно: У меня есть модель, которая определяется вызывается из 2-х различных форм. Я могу повторно использовать его, но для одной формы мне нужно иметь «withUpdateSave», но для другой формы мне это не нужно. Поэтому я хочу, чтобы какой-то вариант определял, нужно ли мне это или нет.