Try to use ng-repeat
-
Try using ng-init to reference $index
<li ng-repeat = "n in [1,2,3,4] ng-init="myIndex = $index">
<label ng-model="{{'p'+ myIndex }}" />
</li>
This is not working because you have used ng-model on label tag which is not possible.
ng-model can be only used on input, select and textarea as per This
you cannot use it on div's, ul, ol, tabel etc.
Instead, to assign the value in label you can use ng-value like this:
<label ng-value="{{'p'+ n }}"> {{n}} </label>
or to assign index value to ng-model you can do:
<input type="text" ng-model="user.text[$index]"/>
to display the index you can do:
{{$index}}
ng-model is an Angular attribute, you don't need to include the {{}} -- try ng-model="'p' + n"