Elde etmek istediğim, model özellikleri için abonelik oluşturmaktır. Bu abonelik fonksiyonu, veritabanında Ajax güncelleme özelliği üzerinden WebApi'yi çağırmalıdır. Ajax çağrısı için üç paramatere ihtiyacım var: "fieldName
", "fieldValue
" ve "modelId
" ajax, bu üç parametreye dayalı olarak veritabanı satırını güncelleyecektir.knockout abonelik işlevine ek parametreler iletme
ko.subscribable.fn.withUpdater = function (handler) {
var self = this;
this.subscribe(handler);
//support chaining
return this;
};
Bunu ekle o "nasıl olduğunu:
Birçok özelliklere sahip ve hepsi aynı işlevselliği gerek, bu yüzden tek tek her özellik için abone olmak istemiyorum, bu yüzden bir şu öneride bulundu gözlenebilirlere "ekli: update
modeli dışında bazı js fonksiyonudur
self.ModelId= ko.observable();
self.CompanyName = ko.observable().withUpdater(update);
. Ben update
fonksiyonları (- Ben update
içeride viewModel.ModelId
özellik değerini elde edebilmek için gereken yanı sıra propertyName
ya da başka bir deyişle söyleyebiliriz) üç parametrelerinin geçmek değil mümkün çünkü
Ancak, ben, sorun var . Şirket adı özelliği için bir örnek olarak
function update (propertyName, propertyNewValue, anotherPropertyValue) {
//do ajax update
}
öyle olacak:
update("CompanyName", "New Company value here", 3),
nerede
3 == viewModel.ModelId
Cevabımı güncelledim ve nereye gittiğinizi merak ediyorum. – lucuma