有一些HTML
<div ng-class="{mi_selected: value.selected}" ng-repeat="value in param.values" >
{{value.type == "text" || value.type == "relocate_here" || value.type =="relocatePage" || value.type=="reloadDashboard" ? value.name : ""}}
</div>
但我还有一个value.type='currency'
。如果是这样,我需要添加过滤器| currency:'RUB '
。
我怎么能这样做,如果这个结构
{{value.type == "text" || value.type == "relocate_here" || value.type =="relocatePage" || value.type=="reloadDashboard" ? value.name : value.type=="currency" ? value.name | currency: 'EUR' :""}}
不起作用。 HTML完全如下所示:
<div ng-class="{mi_selected: value.selected}" ng-repeat="value in param.values" ng-click="value.type=='relocate_here' ? dashboardCtrl.relocateHere(value.urlTo) : value.type=='relocatePage' ? dashboardCtrl.relocatePage(value.urlTo) : value.type=='reloadDashboard' ? dashboardCtrl.reloadDashboard(value.json,value.matrix) : ''">
{{value.type == "text" || value.type == "relocate_here" || value.type =="relocatePage" || value.type=="reloadDashboard" ? value.name : ""}}
<input ng-if="value.type == 'input'" type="text" ng-value="value.selected" placeholder="{{value.name}}">
<input ng-if="value.type == 'input_search'" name="value.model" ng-model="value.val" ng-controller="searchCtrl as searchCtrl" ng-change="searchCtrl.isEmptyQuery(param.values) ? searchCtrl.isEmptyObject(searchCtrl.template) ? searchCtrl.search(param.values, param.url) : searchCtrl.checkTemplate(param.values) ? searchCtrl.searchFilter(param.values) : searchCtrl.search(param.values, param.url) : searchCtrl.clean()" type="text" placeholder="{{value.name}}">
<input ng-if="value.type == 'date_search'" type="date">
</div>
例如有value.name=1000
。如果value.type=="text"
我需要显示1000
。但是如果value.type=="currency"
,我需要显示EUR 1,000.00
答案 0 :(得分:1)
通过调用控制器功能,您可以尝试这个
class Menue(models.Model):
title = models.CharField(max_length=255)
panels = [
FieldPanel('title', classname="col12"),
]
def __str__(self):
return self.title
class Wochen(models.Model):
menu_1 = models.ForeignKey(Menue,
null=True, blank=True, on_delete=models.PROTECT,
related_name="menu_1+")
panels = [
FieldPanel('menu_1', classname="col12"),
]
def __str__(self):
return self.menu_1
控制器
<div ng-class="{mi_selected: value.selected}" ng-repeat="value in param.values" >{{ showValue(value.type) }}
</div>
答案 1 :(得分:0)
尝试使用这样的自定义过滤器:
var filterByType = function($filter) {
return function(data, type) {
if (type === 'text') {
return data;
}
if (type === 'currency') {
//change the data path to name
return $filter('currency')(data.amount, 'RUB');
}
}
};
{{ value | filterByType : value.type}}
答案 2 :(得分:-1)
ng-if == 'currency'
是否在这种情况下显示带过滤器的行,如果不显示没有过滤器的行