Observables так или иначе будут везде. Так что поменяете шило на мыло.
React вы не сможете адекватно встроить в уже готовый HTML.
Angular превратит вашу простую задачу в звездолёт.
Vue сможет встроиться в ваш HTML так же легко, как и Knockout. Там те же observables и computed, разве что вместо this.foo( val ) вы будете писать this.foo = val, а все computed нужно будет объявлять отдельно.
Но если всё же соберётесь сделать SPA, то я бы рекомендовал наш велосипед:
https://github.com/eigenmethod/mol