2016-05-19 14 views
0

Ich habe ein Array von dem Server abgerufen, von dem ich eine variable Anzahl von Boolean Flags generieren und an meine $scope Variable in meinem Controller anhängen.

for (var i = 0; i < myArray.length; i++) { 
    $scope['TeamId' + myArray[i].TeamId + 'IsVisible'] = ViewMatrixService['TeamId' + myArray[i].TeamId + 'IsVisible']; 
} 

Wie referenziere ich diese Variablen in meiner Vorlage? Ich habe das unten versucht, aber es funktioniert nicht.

<th ng-show="'TeamId' + doc.DocumentOwnerTeam.TeamId + 'IsVisible'"> 
+0

Ich vermute das Problem ist, dass Sie eine Zeichenfolge in Ihrem HTML zeigen. Der Teil doc.DocumentOwnerTeam.TeamId wurde möglicherweise nicht ausgewertet. –

Antwort

2

Fügen Sie sie einfach in eine Bereichsvariable ein, auf die Sie explizit verweisen können.

$scope.team = $scope.team || {}; 
for (var i = 0; i < myArray.length; i++) { 
    $scope.team['TeamId' + myArray[i].TeamId + 'IsVisible'] = ViewMatrixService['TeamId' + myArray[i].TeamId + 'IsVisible']; 
} 

<th ng-show="team['TeamId' + doc.DocumentOwnerTeam.TeamId + 'IsVisible']">

Obwohl als eine alternative Route, wenn es immer was Iteration von doc.DocumentOwnerTeam bestimmt sein wird derzeit aktiv ist, weisen sie nur als eine Eigenschaft zu dass.

Verwandte Themen