Q:

Issue With name containing - in angular service

I have a service like below 
var places = [
      { "city" : "Bangalore","country-name": "India"},
      { "city" : "Mysore","country-name": "India"}
      ];

      this.getCities = function(){
        return places;
      };

I am calling the getCities in my controller and displaying the data in my html like below. 
<li ng-repeat="place in places">
        <label>City : {{place.city}}</label>
        <label>Country : {{place.country-name}}</label>
        </li>

But the country name is coming as 0 and the city is working fine. 
Please find the plunker here
Please let me know why it is happening

A:

Rename country-name to countryName.  You can't have dashes in your property names and then access them with the dot operator. 
If for some reason you're consuming an api that you don't control, you can do this instead:
<label>Country : {{place['country-name']}}</label>

