分離したほうがいいなら、分離コードしか書けない言語にすればいいじゃない
viewに対してプロパティ以外で操作するのは無理にしちゃえばいい
それなのにロジックと混同して使えるようにしているから
解説サイトも簡潔に説明するためにイベントハンドラにロジック直接書いて
それ見た初心者がそういうもんだと思って真似するわけじゃない

VIEW言語、Viewコントローラー言語、VIEWModel言語、Model言語
とか作ってさ、完全に分けてしまえばいいんだよ