Javascript AngularJS转换显示的模型属性

Javascript AngularJS转换显示的模型属性,javascript,angularjs,Javascript,Angularjs,假设我有一个人巫婆去过一些城市 Person {name: John, cities: [15, 24, 13]} 我还有一个函数GetNames(cityIds),它将[15,24,13]转换为['Paris'、'New York'、'Tokyo'] 现在有了{{person.cities}我将获得15,24,13 是否有方法使用GetNames获取'Paris'、'New York'、'Tokyo'?假设GetNames()是控制器范围内的函数 $scope.Getnames()您可以执行

假设我有一个
巫婆去过一些
城市

Person {name: John, cities: [15, 24, 13]}
我还有一个函数
GetNames(cityIds)
,它将
[15,24,13]
转换为
['Paris'、'New York'、'Tokyo']

现在有了
{{person.cities}
我将获得
15,24,13


是否有方法使用
GetNames
获取
'Paris'、'New York'、'Tokyo'

假设
GetNames()
是控制器范围内的函数
$scope.Getnames()
您可以执行以下操作:

<div>{{GetNames(person.cities)}}</div>
{{GetNames(person.cities)}

尝试像这样调用控制器函数

<div>{{GetNames(person.cities)}}</div>

使用
ng repeat
指令

<div>
    <span ng-repeat="city in GetNames(person.cities)">
       {{city}}<span ng-if="!$last">,</span>
    </span>
</div>

{{城市},
请注意,我使用
ng repeat
指令的
$last
特殊属性与
ng if
指令组合使用,以防止在列表末尾出现逗号


要了解有关
ng repeat
指令的更多信息,请访问
ng如果
,则

如果您想要一个不太杂乱的模板:

{{GetNames(person.cities) | myToString}}
创建自定义筛选器:

angular.module("myApp").filter("myToString", function() {
    return function(input) {
        var out = "";
        for (var i=0; i<input.length; i++) {
            out += input[i];
            if (i != input.length-1) {
                out += ", ";
            };
        };
        return out;
    };
});
angular.module(“myApp”).filter(“myToString”,function()){
返回函数(输入){
var out=“”;

对于(var i=0;i)方法,
ng repeat='city in GetNames(person.cities)
{{GetNames(person.cities)}
之间的区别是什么?您的用户可以看到
巴黎、伦敦、纽约
[“巴黎”、“伦敦”、“纽约”]
angular.module("myApp").filter("myToString", function() {
    return function(input) {
        var out = "";
        for (var i=0; i<input.length; i++) {
            out += input[i];
            if (i != input.length-1) {
                out += ", ";
            };
        };
        return out;
    };
});