This usually works fine.
The expression
*ngIf="expression && prototype?.valueType === 'Integer' && 'String'"
seems a bit off.
Perhaps you want something like
*ngIf="expression && (prototype?.valueType === 'Integer' || prototype?.valueType === 'String'")