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;
};
});