Я столкнулся с поведением в Angular, которого я не ожидал, и цель этого сообщения - выяснить, является ли это ошибкой или предполагаемым и, возможно, объяснением, почему оно предназначено.
Сначала просмотрите этот Plunkr: http://plnkr.co/edit/CB7k9r?p=preview. В этом примере я создал массив с массивом с тремя объектами. Далее я создал ng-переключатель на основе содержимого поля ввода (называемого toggle). Когда значение toggle равно 1, оно должно печатать все имена объектов в массиве с префиксом "1" и в противном случае префикс "other".
Это не работает так, как предполагалось, и показывает ошибку:
Error: Argument '?' is required at assertArg
Однако тот же пример переписан (http://plnkr.co/edit/68Mfux?p=preview) с дополнительным div вокруг списка, ng-переключатель переместился в этот div и ng-switch - при перемещении из li в ul (разделение ng-repeat и ng-switch-when) работает по назначению.
Может ли кто-нибудь объяснить, почему это так?