Anu*_*sha 5 javascript json string-comparison angularjs ionic-framework
我正在尝试比较AngularJS中的两个字符串,我在网上看到了一些例子.据我了解,你可以使用angular.equals(str1,str2),你可以使用===,你可以使用==如果你确定两者都是字符串......
我已经尝试了所有三个,但我没有得到结果.我所做的事情肯定是错的,但我不知道它是什么.
当我运行代码时,调用inc1()函数.第一个警报显示"inc1 called".但是第二个警报"Inside for loop"只执行一次.它应该执行两次,不应该吗?
并且if(条件)内部的警报根本不执行.如果我删除'if'块,则警报"Inside for loop"运行两次.
如果有人能告诉我这里我做错了什么,我会非常感激.我使用了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>
Run Code Online (Sandbox Code Playgroud)
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");
}
}
}
Run Code Online (Sandbox Code Playgroud)
//说,名字叫'海豚'
你正在迭代错误的节点:)
for(var i=0;i<$rootScope.items.length;i++)
{
alert("Inside for loop");
if (name === $rootScope.items[i].names) // you iterate over items, not names, which it an Json property inside item
{
alert("If condition satisfied");
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40665 次 |
| 最近记录: |