Ich versuche, zwei Strings in AngularJS zu vergleichen, und ich habe Beispiele online gesehen. Wie ich es verstehe, können Sie angular.equals (str1, str2), können Sie verwenden ===, können Sie verwenden == Wenn Sie sicher sind, dass beide Zeichenfolgen sind ...String-Vergleich in AngularJS
Ich habe alles versucht drei, aber ich bekomme das Ergebnis nicht. Irgendetwas muss in dem, was ich getan habe, falsch sein, aber ich weiß nicht, was es ist.
Wenn ich den Code ausführen, wird die Inc1() - Funktion aufgerufen. Die erste Warnung erscheint "inc1 called". Aber die zweite Warnung "Inside for loop" wird nur einmal ausgeführt. Es sollte zweimal ausgeführt werden, oder?
Und die Warnung innerhalb der if (Bedingung) wird überhaupt nicht ausgeführt. Wenn ich den "if" -Block entferne, wird der Alarm "Inside for loop" zweimal ausgeführt.
Ich wäre sehr dankbar, wenn mir jemand sagen könnte, was ich hier falsch mache. Ich habe angular.equals(), === und == verwendet, aber das gleiche passiert jedes Mal.
Dies ist, wie die HTML und AngularJS Codes gehen:
HTML:
<a class="tab-item" ng-repeat = "x in items" ng-if="name==x.names" ng-click="inc1(name)">
<i class="icon ion-thumbsup"></i>
Like
</a>
AngularJS:
$rootScope.items = [
{ id: 1, names: 'Dolphin', image: 'dolphin.jpg'}, { id: 2, names: 'Donkey', image: 'donkey.jpg'}];
$scope.inc1 = function(name) {
alert("inc1 called");
for(var i=0;i<$rootScope.items.length;i++)
{
alert("Inside for loop");
if (name === $rootScope.items.names[i])
{
alert("If condition satisfied");
}
}
}
// Sprich Name ist 'Dolphin'
Alerts wahrscheinlich nicht eine gute Möglichkeit, zu debuggen, könnte es sinnvoll sein, das Debugging in Chrome https://developer.chrome.com/devtools/docs/javascript-debugging oder zumindest Protokollierung auf der Konsole https: // developer.chrome.com/devtools/docs/console#writing-to-the-console – Cameron
Ohh ok danke! Ich werde das überprüfen! :) – Anusha