2017-04-03 90 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>