One thing that really irked me in ng2 was that an <input> uses [id] for a computed id property... however, a <label> needs [attr.for] for the attribute on the element's for instead of [for]. I don't know why unknown values for generic html elements aren't translated to [attr.*] in rendering. *sigh*
I really just don't care for Angular since I've started using React+Redux more. It just makes less sense. React+Redux+Axios(or fetch) get you pretty much everything angular offers in a much more reasonable interface, even with the setup costs for webpack+babel+*...