У вас были следующие ошибки
- неправильно задекларировано приложение (ng-app)
- modules вместо module
Исправленный вариант
plnkr.co/edit/hJVCAByn7ncyAmao9pKI?p=info
ng-app is not allowed here - это стандартное предупреждение валидатора HTML. Это нормально.
Вместо ng-if лучше использовать ng-show, т.к. это более производительная операция.
DOM трансформация занимает более значительное время, чем просто смена класса.
Применяйте ng-if только тогда, когда вам критически необходимо изменить DOM-структуру документа.
Например, у вас есть некая несовместимая библиотека, которой обязательно нужно работать с id="abc". Обычно это какой-нибудь сторонний сервис, которому необходимо манипулировать DOM и нем жестко захардкоден id="abc":
<div ng-if="switchA"><div id="abc">A</div></div>
<div ng-if="switchB"><div id="abc">B</div></div>
ng-show может негативно влиять на производительность в случае, когда у вас внутри имеется множется дочерних компонентов и контроллеров, т.к. в них добавлены обсерверы и т.д. То есть в случае сложной вложенной структуры с ng-model или ng-bind и т.п. лучше использовать ng-if. Это поможет сохранит память.
В случае простых вложенных структур ng-show будет производительнее.
Например для такого варианта лучше использовать ng-show:
<div ng-repeat="user in users">
{{user.name}}
<div ng-show="user.isStar">*</div>
</div>
Но
<div ng-repeat="user in users">
{{user.name}}
<div ng-if="user.isStar"><custom-star-component user="user"></custom-star-component></div>
</div>