如何根据 属性 in AngularJs 赋值

How to assign value based on property in AngularJs

我将潜在客户法规存储在我的数据库中。值可以是 1、2、3 或 4。

实际上我 return 使用 ngResource get 的人类可读:

Client.get({ id: $stateParams.clientId }, function(data) {
    $scope.client = data;

    // Start of numeric values to status
    for(var i=0;i<data.leads.length;i++){
        if(data.leads[i].statut===1){
            data.leads[i].statutMessage = 'À contacter';
        }
        else if(data.leads[i].statut===2){
            data.leads[i].statutMessage = 'En cours';
        }
        else if(data.leads[i].statut===3){
            data.leads[i].statutMessage = 'Obtenu';
        }
        else if(data.leads[i].statut===4){
            data.leads[i].statutMessage = 'Non obtenu';
        }
    }

});

我想将这个逻辑提取到客户端,以便每个线索"statut" (1,2,3,4) 都转换为真实的法规(' À 接触者', 'En cours', 'Obtenu', 'Non obtenu').

我可以使用 this technique(指令)

如果指令在这种情况下不是正确的方式,我应该怎么做?

好吧,当你需要显示 "statutes" 时,你可以在控制器中以这种方式对其进行建模:

$scope.leadMessages = {
  1: 'À contacter',
  2: 'En cours',
  3: ..etc
}

在你的 HTML 中:

<div ng-repeat="lead in data.leads">{{leadMessages[lead.statut]}}</div>

鼓起勇气:-)