Der Versuch, eine Direktive mit einer ng-show-Anweisung zu verwenden. Grundsätzlich prüft es gegen den Wert einer Zeichenfolge, die die status_p1 Eigenschaft in meinem Namen 'jsonarray ist:Wie vergleicht man einen Stringwert in ng-show innerhalb einer Customdirective?
ng-show="name.status_p1==working"
Die Richtlinie wie folgt definiert ist:
app.directive('radioButton',function(){
return {
restrict: 'E',
replace: 'true',
template: '<table border="2px">' +
'<tr><td>{{name.name}}</td><td>Working</td><td><img src="http://www.iconshock.com/img_jpg/REALVISTA/general/jpg/256/cross_icon.jpg" alt="img1" id="imgworking" ng-show="name.status_p1!=working"><img src="http://png-1.findicons.com/files/icons/2198/dark_glass/128/camera_test.png" alt="img2" ng-show="name.status_p1==working"></td></tr>' +
'</table>'
};
})
Der Controller + NamenArr in meinem Haupt-Seite aussieht wie folgt aus:
app.controller('MainCtrl', function($scope) {
$scope.names = [
{
name: 'couple 1',
status_p1: 'working',
status_p2: 'retired'
}
]
});
Und schließlich die Hauptseite:
<body ng-controller="MainCtrl">
<div ng-repeat="name in names">
<radio-button></radio-button>
</div>
</body>
Derzeit wird ein Kreuz angezeigt, wo es ein Häkchen/Häkchen anzeigen sollte. Ich habe erwartet, dass die Bedingung auf TRUE ausgewertet wird, da die status_p1-Eigenschaft gleich "Working" ist. Wie kann ich diese ng-show-Anweisung ändern, damit der Stringvergleich funktioniert? plunkr Link: http://plnkr.co/edit/3VdsbsSHpkNJFVnvkmOW?p=preview
Versucht, das hat nicht funktioniert – Pindakaas
Sie müssen die einfachen Anführungszeichen um '\' working \ ''entkommen, da Ihre Vorlage Zeichenfolge durch einfache Anführungszeichen begrenzt ist. Überprüfen Sie die modifizierte Plunkr. –
Alter vielen Dank – Pindakaas