We did my 2.5 yr old this year. She understood it. We told her about 30minutes before we were to leave that mummy and DD1 were having a flu vaccination which would hurt a bit for just a minute then it would stop hurting. when she asked WHY (of course!) we said if she has the flu vacination it stops her getting very sick another day, so its to prevent you from getting sick.
I think it helped though that i was having it to as i went first and she watched me. - also it doesnt hurt very much AT ALL (much better than other vacines and shots ive had before). DD1 didnt even cry AT ALL and she was very excited to be getting a lolly

it was no big deal - we have to go again this week for the follow up shot and she knows and doesnt mind going to do it again - they need to have 2 shots 4 weeks apart for kids who havent had the shot before.
she was a bit off the next day but no big deal just quieter and bit cranky. well worth it considering kids die from the flu every year

and we have a baby in the house who cant be imunised for it so we are protecting her too by having it