Vue lomaketallennus json ei ole luku

Liittynyt
03.07.2018
Viestejä
347
Erikoinen ongelma, tallennan vue:lla generoidusta lomakkeesta objektia jsonina php backendille ja kaikki rivien id:t mitä luodaan javascriptillä ovat kyllä tyyliin 2123
mutta kaikki lomakkeen kentät jotka on input type number tallentuvat "213" ja "22.2"
itse asiassa jo lähtevät ajax-kutsussa noin, stringinä.

Jos annan tuon tallentaa tiedot stringinä niin sitten joudun tekään jokaiseen ohjelman muuhun osioon parsetukset jotta numerojen vertailu javascriptissä toimii.
Miten nuo pitäisi oikeaoppisesti saada lähtemään bäckendiin numerona ?
bäckendissä ei jsonia käsitellä, se vain tallennetaan kantaan stringinä.
 
Liittynyt
18.10.2016
Viestejä
272
Ihan kaikkea en nyt tarkalleen hahmottanut, mutta kysymys lienee että miten konvertoida stringit numeroiksi jäsässä?

Tässä esimerkki numeron formatoinnista `parseFloat`:ia käyttäen:
Esimerkissä mukana myös string value, joka tässä tapauksessa symboloi eurojen tallentamista samasta numeroarvosta. Luonnollisesti rahaa ei kantaan kannata viedä stringinä, vaan senttien kokonaislukuna. Laitoin mukaan ainoastaan siksi, että kysyjä ymmärtää, miten numero eroaa stringistä lopputuloksessa (console.log)
 
Liittynyt
03.07.2018
Viestejä
347
Ihan kaikkea en nyt tarkalleen hahmottanut, mutta kysymys lienee että miten konvertoida stringit numeroiksi jäsässä?

Tässä esimerkki numeron formatoinnista `parseFloat`:ia käyttäen:
Esimerkissä mukana myös string value, joka tässä tapauksessa symboloi eurojen tallentamista samasta numeroarvosta. Luonnollisesti rahaa ei kantaan kannata viedä stringinä, vaan senttien kokonaislukuna. Laitoin mukaan ainoastaan siksi, että kysyjä ymmärtää, miten numero eroaa stringistä lopputuloksessa (console.log)
Kiitos

Noinhan sen saa js:ssä ja esimerkkisi selvittää kyllä tilanteen helposti.
Hain tässä kutenkin jotain sellaista ratkaisua että param="xx" tms. voisi jo html: templatessa kertoa että kyseessä on float tai int jolloin se sisäisesti olisi vue:ssa float eikä string... luulisi että sellainen on olemassa mutta en osaa oikea termiä kyseiselle jutulle...
 
Liittynyt
24.10.2016
Viestejä
634
Jos olisi nähtävillä nykyinen toteutus, tai edes pieni snippetti siitä, olisi helpompi neuvoa. :)

Näin äkkiseltään kuulostaa siltä, että haluat tyypittää muuttujat?
 
Liittynyt
20.03.2017
Viestejä
184
Laita templateen vaan modifier eli <input v-model.number="tööt" ... jolloin Vue hoitaa tuon muunnoksen suoraan.
 
Liittynyt
03.07.2018
Viestejä
347
Laita templateen vaan modifier eli <input v-model.number="tööt" ... jolloin Vue hoitaa tuon muunnoksen suoraan.
Jackpot! tämähän se oli, kiitos!

arvelinkin että joku tällainen on pakko olla olemassa mutta eihän tommosta osaa ees googlettaa.
Testasin ja toimi niinkuin pitääkin, inputin ajaxpostauksessa json stringisssä numeroarvo on 3.3, eikä "3.3"
ja toimii siis desimaaleillakin
 
Toggle Sidebar

Statistiikka

Viestiketjut
237 362
Viestejä
4 158 459
Jäsenet
70 411
Uusin jäsen
allun90

Hinta.fi

Ylös Bottom