I posted a query and managed to solve it. However, I observed that even though the provided data consists of objects defined like this:
export interface GisPoint { e: number; n: number; }
when a user inputs a value, the original content changes from { e: 12, n: 34 } to something resembling a string, i.e. { e: "123", n: 34 }. I acknowledge that the input is treated as a string by default so I must convert it. Nevertheless, since the binding involves ngModel, I don't explicitly react to keyUp or blur.
Is there a need for me to explicitly handle those events? If I have to, then using ngModel doesn't seem necessary. It would be great if the type could be preserved when entering an edited value.