angularJS中变量的三元运算符
所以我在angularJS代码中有一个三元运算符测试来确定在重复块上使用哪个变量,但是这个测试在它里面做了很多次,我认为这是愚蠢的。有没有办法将表达式结果存储在变量中,并使用它来代替重复表达式 守则:angularJS中变量的三元运算符,angularjs,Angularjs,所以我在angularJS代码中有一个三元运算符测试来确定在重复块上使用哪个变量,但是这个测试在它里面做了很多次,我认为这是愚蠢的。有没有办法将表达式结果存储在变量中,并使用它来代替重复表达式 守则: <tr ng-repeat="meta in metas"> <td class="mdl-data-table__cell--non-numeric"> {{meta.admMetNome}} <span class="pull-right"
<tr ng-repeat="meta in metas">
<td class="mdl-data-table__cell--non-numeric">
{{meta.admMetNome}} <span class="pull-right">{{meta.pagCidadesPagCid[0].pagCidId ? usuarios[meta.pagCidadesPagCid[0].pagCidId].qtd : usuarios['total'].qtd}} / {{meta.admMetValor}}</span>
<md-progress-linear md-mode="determinate" value="{{(meta.pagCidadesPagCid[0].pagCidId ? usuarios[meta.pagCidadesPagCid[0].pagCidId].qtd : usuarios['total'].qtd) * 100 / meta.admMetValor}}"></md-progress-linear>
{{(meta.pagCidadesPagCid[0].pagCidId ? usuarios[meta.pagCidadesPagCid[0].pagCidId].qtd : usuarios['total'].qtd) * 100 / meta.admMetValor | number:2}}% - Prazo: de {{meta.admMetInicio | date: 'dd/MM/yyyy'}} a {{meta.admMetFim | date: 'dd/MM/yyyy'}}
</td>
</tr>
{{meta.admMetNome}{{meta.pagcidespagcid[0].pagCidId?usuarios[meta.pagcidespagcid[0].pagCidId].qtd:usuarios['total'].qtd}/{meta.admMetValor}
{(meta.pagcidespagcid[0].pagCidId?usuarios[meta.pagcidespagcid[0].pagcidd].qtd:usuarios['total'].qtd)*100/meta.admMetValor | number:2}%-Prazo:de{meta.admMetInicio |日期:'dd/MM/yyyyyy'}
在控制器对象或$scope
中创建一个带有参数的函数,以在其中传递元。比如getValue(meta)
。只需返回其中的三元运算符。然后在表达式中使用这个函数:value={{$ctrl.getValue(meta)}
在您的控制器中这样做应该会起作用(假设“usuarios”是一个作用域变量)。但正如@charlietfl所建议的那样,这将是一个制定指令的好机会
$scope.assignValue=函数(元){
return(meta.pagcidespagcid[0].pagCidId)?usuarios[meta.pagcidespagcid[0].pagcidd].qtd:usuarios.total.qtd*(100/meta.admMetValor);
};
{{meta.admMetNome}{{meta.pagcidespagcid[0].pagCidId?usuarios[meta.pagcidespagcid[0].pagCidId].qtd:usuarios['total'].qtd}/{meta.admMetValor}
{(meta.pagcidespagcid[0].pagCidId?usuarios[meta.pagcidespagcid[0].pagcidd].qtd:usuarios['total'].qtd)*100/meta.admMetValor | number:2}%-Prazo:de{meta.admMetInicio |日期:'dd/MM/yyyyyy'}
将是指令或组件的良好用例。将业务逻辑从视图中删除