在ng-repeat上更改一次迭代

Pau*_*000 12 javascript arrays filter angularjs ng-repeat

我有一个ng-repeat,它遍历模型中各国的名称.在某些国家/地区名称上,我希望缩写它们以缩短字符串的长度,例如,我希望"北爱尔兰"输出为"N".爱尔兰'.

JSON模型

[
  {
    "id": 1,
    "name": "Italy",
  },

  {
    "id": 2,
    "name": "Northern Ireland",
  },

  {
    "id": 3,
    "name": "Poland",
  }
]
Run Code Online (Sandbox Code Playgroud)

我可以在我的模型中更改名称,但我宁愿保留它,因为我希望原始数据完整.只有在这个特定的例子中我才想要缩写它.

我应该使用ng-repeat过滤器吗?如果是这样,怎么样?
如果没有,还有其他建议吗?

HTML

<md-grid-tile ng-repeat="nation in nationData">

  <img src="img/{{nation.name}}.png">

  <md-grid-tile-footer>
    <h3>{{nation.name | uppercase}}</h3>
  </md-grid-tile-footer>

</md-grid-tile>
Run Code Online (Sandbox Code Playgroud)

Ale*_*gan 6

您可以创建自己abbreviate应用于名称的过滤器.在此过滤器中,您可以打开国家/地区名称并返回缩写格式.

app.filter('abbreviate', function() {

    return function(country) {

        switch(country){
            case "Northern Ireland":
                country = "N. Ireland"
                break;
        }

        return country;

    }

});
Run Code Online (Sandbox Code Playgroud)