2017-04-03 86 views
0

我有以下这些打印1.57 lakh View More Detailsangularjs过滤器只需要短信

<h4> Price: {{Object.price}}</h4> 

想打印打印所有额外的数据只1.57 lakh而不是代码。 我们可以在这里使用过滤器来消除额外的数据吗?如果是的话,我们怎样才能做到这一点,或有什么办法来实现这一目标?

+1

难道你们就不能只是做'

价格:{{Object.price.replace(“查看更多详细信息”,‘’) }}

' – George

+0

我认为你可以编写自定义过滤器。你可以找到更多的细节https://docs.angularjs.org/guide/filter。 –

回答

2

关于改变为y的字符串您可以同时使用正则表达式来选择字符串的最后一部分

angular.module("app", []) 
 
    .controller("ctrl", function($scope) { 
 
    $scope.price = "1.57 lakh View More Details"; 
 

 
    $scope.replaceText = function(text) { 
 
     return text.replace(/View \w* Details/g, ""); 
 
    } 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="app" ng-controller="ctrl"> 
 
    <h4> Price: {{replaceText(price)}}</h4> 
 
</div>

+0

感谢乔治,这工作如果我有一个字符串,非常频繁地改变例如:查看四月细节或查看三月细节。这里4月和3月是字符串变化频繁。我们可以在这里使用正则表达式吗?例如:'查看*详情' –

+0

谢谢你解决了我的问题。 –

1

您可以创建一个函数并使用split来获取相关数据并将其返回。

演示

angular.module("app",[]) 
 
.controller("ctrl",function($scope){ 
 
$scope.price = "1.57 lakh View More Details"; 
 

 
$scope.removeText = function(text){ 
 
return text.split('lakh')[0]+'lakh'; 
 
} 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="app" ng-controller="ctrl"> 
 
{{removeText(price)}} 
 
</div>

或者你可以创建一个这样的自定义过滤器也

angular.module("app",[]) 
 
.controller("ctrl",function($scope){ 
 
$scope.price = "1.57 lakh View More Details"; 
 

 
    
 
}) 
 
.filter('removeText',function(){ 
 
    return function(item){ 
 
    return item.split('lakh')[0]+'lakh'; 
 
    } 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="app" ng-controller="ctrl"> 
 
{{price | removeText}} 
 
</div>