Knockout JS. Functie toevoegen in viewmodel

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • tha_crazy
  • Registratie: Maart 2007
  • Laatst online: 21:36
Ik ben bezig om een pagina te maken icm Knockout JS.
Ik krijg mijn model door van de Controller van MVC, deze parse ik dan naar een KnockoutJS viewmodel. op de volgende manier:
JavaScript:
1
2
3
        var rawData = @Html.Raw(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(Model));
        var Data = ko.mapping.fromJS(rawData);
        ko.applyBindings(Data);


Echter wil ik aan dit Viewmodel een functie Save aanmaken zodat ik deze naar een Controller kan sturen.
De vorige pagina had dit, maar dit kreeg al zijn data door vanuit AJAX calls en dit dient herschreven te worden.
Nu wil ik dus een functie aan dit viewmodel toevoegen maar ik krijg het maar niet voor elkaar, iemand die mij hier een handje bij kan helpen?

Ben zelf al wel deze voorbeelden tegen gekomen, maar ik kom er nog niet echt uit javascrpt is niet mijn sterkste kant
http://jsfiddle.net/rniemeyer/lheqz/
http://stackoverflow.com/...e-knockout-js-mapping-plu

Alle reacties


Acties:
  • 0 Henk 'm!

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 11-10 15:13

mulder

ik spuug op het trottoir

tha_crazy schreef op donderdag 16 juni 2016 @ 14:19:
De vorige pagina had dit, maar dit kreeg al zijn data door vanuit AJAX calls en dit dient herschreven te worden.
Nu wil ik dus een functie aan dit viewmodel toevoegen maar ik krijg het maar niet voor elkaar, iemand die mij hier een handje bij kan helpen?
- Waarom ko als je kennelijk geen ajax wilt gebruiken?
- Je injecteert nu het viewmodel bij het aanmaken van de pagina. 'Normaal' zou je, als je ko gebruikt, dit met een ajax call doen.
- Je wilt dit naar de server sturen, dit kan door a) een ajax call b) het form te posten

oogjes open, snaveltjes dicht


Acties:
  • 0 Henk 'm!

  • Guillome
  • Registratie: Januari 2001
  • Niet online

Guillome

test

mulder schreef op donderdag 16 juni 2016 @ 15:24:
[...]

- Je injecteert nu het viewmodel bij het aanmaken van de pagina. 'Normaal' zou je, als je ko gebruikt, dit met een ajax call doen.
Je doelt vast niet op je viewmodel maar op de data in je viewmodel. Je viewmodel heb je weldegelijk in je js staan. De data zou ik inderdaad nooit zo printen en injecteren, maar idd met een AJAX call doen.

Je kan overigens gewoon je viewmodel uitbreiden na regel 2:
JavaScript:
1
Data.save = function() {};

If then else matters! - I5 12600KF, Asus Tuf GT501, Asus Tuf OC 3080, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router