I have a model which is an array that needs to handle complex and simple elements :
{ "object" :[ "element1.html", "element2.html", { "url:"element3.html", "title" : "Title 3" }, "element4.html", "element5.html" ] }
Is there some way to make a select which can handle both simple and complex elements in angularjs (showing url from the complexs)?
Approach 1
I mean some like that:
ng-model="(object[$index].url ? object[$index].url : object[$index])"
Approach 2
Make a normalized object that will have the complex structure for each object with empty arrays and a file type indicating whether is simple or complex.
Could I make some magic with angular to avoid the second approach?
Thanks!
You could use ngSwitch
or ngIf
and place the correct element then.
With ngIf for example:
<input ngIf="object[$index].url" ngModel="object[$index].url"> <input ngIf="!object[$index].url" ngModel="object[$index]">
If the condition is not met, angular will completely remove the dom element, till the condition will meet.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With