fix(if): do not add child listener if match fails