2017-08-25 1 views
0

Ich möchte in der Lage sein, auf eine Variable in einer Angular-Vorlage zu verweisen, die auf einer anderen Variablen mit einem Filter aufgebaut ist.AngularJS-Referenzvariablen basierend auf einer anderen Variablen

So zum Beispiel, ich könnte dies in der Steuerung haben:

$ scope.EuropaLeague = true;

Wenn ich dies in der Vorlage zu tun funktioniert es wie erwartet:

<div ng-if="EuropaLeague"> 
 

 
</div>

Aber was, wenn ich die ng-wenn etwas kommt von einem ng-repeat zum Beispiel dynamisch bevölkern wollte

{{item.leagueName | myFilter}}

So über das würde meine Umfang Variable $ scope.EuropaLeague Z. B. Referenz Richtig oder falsch?

Dank

+0

, was ist das Problem? –

+0

Das Problem ist, dass ng-if "{{item.leagueName | myFilter}}" nicht funktioniert. Es kann nur die Zeichenfolge 'EuropaLeague' ausgeben. Ich möchte auf die EuropaLeague-Scope-Variable verweisen. –

+0

können Sie einen Plunkar zur Verfügung stellen –

Antwort

2

Hier arbeitet Code:

var app = angular.module('plunker', []); 
 

 
app.controller('MainCtrl', function($scope) { 
 
    $scope.leagues = 
 
    [ 
 
    { 
 
     "id": 1, 
 
     "name": "ChampionsLeague", 
 
    }, 
 
    { 
 
     "id": 2, 
 
     "name": "EuropaLeague", 
 
    }, 
 
    { 
 
     "id": 3, 
 
     "name": "FACup", 
 
    } 
 
    ] 
 
    $scope.obj = {}; 
 
    $scope.obj['EuropaLeague'] = false; 
 
    $scope.obj['FACup'] = false; 
 
    $scope.obj['ChampionsLeague'] = true; 
 
    
 
});
<!DOCTYPE html> 
 
<html ng-app="plunker"> 
 

 
    <head> 
 
    <meta charset="utf-8" /> 
 
    <title>AngularJS Plunker</title> 
 
    <script>document.write('<base href="' + document.location + '" />');</script> 
 
    <link rel="stylesheet" href="style.css" /> 
 
    <script data-require="[email protected]" src="https://code.angularjs.org/1.3.20/angular.js" data-semver="1.3.20"></script> 
 
    <script src="app.js"></script> 
 
    </head> 
 

 
    <body ng-controller="MainCtrl"> 
 
    <ul ng-repeat="item in leagues" ng-if="item.name"> 
 
     <li ng-if="obj[item.name]">{{item.name}}</li> 
 
    </ul> 
 
    </body> 
 

 
</html>

+0

Fantastisch! Vielen Dank. –

+0

@NeilSingh froh zu helfen :-) –

Verwandte Themen