Я пытаюсь сравнить две строки в AngularJS, и я видел примеры в Интернете. Как я понимаю, вы можете использовать angular.equals (str1, str2), вы можете использовать ===, вы можете использовать ==, если вы уверены, что обе строки ...Сравнение строк в AngularJS
Я пробовал все три, но я не получаю результат. Что-то должно быть неправильно в том, что я сделал, но я не знаю, что это такое.
Когда я запускаю код, вызывается функция inc1(). Первое предупреждение появляется «inc1 called». Но второе предупреждение «Внутри для цикла» выполняется только один раз. Он должен выполнить дважды, не так ли?
И предупреждение внутри if (условие) вообще не выполняется. Если я удалю блок «if», то предупреждение «Внутри для цикла» выполняется два раза.
Я был бы очень признателен, если бы кто-нибудь мог сказать мне, что я делаю неправильно здесь. Я использовал angular.equals(), === и ==, но то же самое происходит каждый раз.
Это как HTML и AngularJS коды идут:
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");
}
}
}
// Скажем, название 'Дельфин'
Предупреждения, вероятно, не отличный способ отладки, может быть полезно проверить отладку в chrome https://developer.chrome.com/devtools/docs/javascript-debugging или, по крайней мере, войти в консоль https: // developer.chrome.com/devtools/docs/console#writing-to-the-console – Cameron
О, хорошо спасибо! Я проверю это! :) – Anusha