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"

所以我在angularJS代码中有一个三元运算符测试来确定在重复块上使用哪个变量,但是这个测试在它里面做了很多次,我认为这是愚蠢的。有没有办法将表达式结果存储在变量中,并使用它来代替重复表达式

守则:

<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'}

将是指令或组件的良好用例。将业务逻辑从视图中删除