alterjs表达式中的alter string

时间:2015-06-20 12:28:34

标签: javascript angularjs

有可能做出例子:

<p>{{data.country}}</p>打印Country:New York,如何将其更改为Country:NY

4 个答案:

答案 0 :(得分:1)

您可以使用Regx .match和字符串join方法执行此操作。

<强>标记

 {{data.country.match(pattern).join('')}}

<强>控制器

app.controller('MainCtrl', function($scope, $http) {
$scope.data = {};
  $scope.data.country = 'New York';
  $scope.pattern = /\b(\w)/g;
});

Demo Plunkr

答案 1 :(得分:1)

创建自定义过滤器:

.filter("countryCaps", function(){
  return function(country){
    return "Country: " + country.match(/[A-Z]/g).join("")
  }
})
<p>{{data.country | countryCaps}}</p>

<强> Demo

答案 2 :(得分:0)

永远记住{{...}}中的内容是AngularJS 表达式。这意味着你也可以调用函数。

只需在您的示波器上添加一个函数:

$scope.countryTranslator = function (country) {
  if (country === 'New York') {
    return 'NY';
  }
};

并将其改为:

{{ countryTranslator(data.country) }}.

显然你的翻译&#34;应该有比我的例子更好的代码,但你明白了。

答案 3 :(得分:-1)

您应该使用custom filter来实现此目的。

但是您仍然遇到城市全名数据库及其快捷方式的问题,为此,您可以使用静态json文件,或使用您选择的辅助服务器服务。