这样写是对的
<li ng-repeat="(x, y) in item" ng-if="x!='a'"></li>
这样写就是输出全部的,ng-if并没有执行
<li ng-repeat="(x, y) in item" ng-if="test()"></li> ... $scope.test = function(){ return "x!='a'" }
认证高级PHP讲师
まず、x を渡しませんでした。次に、文字列を返しました。その文字列は常に正しいです。次のように書いてみてください:
概念を教えてください。ng-if にあるものは angular 式と呼ばれ、angular はこの式を解析します。 "x!='a'" は実際には $scope.x != 'a' です ちなみに、この $scope は次のとおりです。 ng-repeat によって生成されたスコープ。 "x!='a'"其实就是$scope.x != 'a',顺带一提这个$scope是ng-repeat产生的scope。下面的test()当然会变parse成$scope.test()在ngRepeat的scope中没找到方法,所以从父scope中找到了你的方法, 然后你的方法return的是一个字符串, 所以判断永远是true次の test() は、もちろん $scope.test() に解析されます。ngRepeat のスコープ内でメソッドが見つからなかったため、メソッドは親スコープの場合、メソッドは文字列を返すため、判定は常に true になります。
"x!='a'"
$scope.x != 'a'
$scope
ng-repeat
test()
$scope.test()
true
まず、x を渡しませんでした。次に、文字列を返しました。その文字列は常に正しいです。次のように書いてみてください:
リーリー概念を教えてください。ng-if にあるものは angular 式と呼ばれ、angular はこの式を解析します。
"x!='a'"
は実際には$scope.x != 'a'
です ちなみに、この$scope
は次のとおりです。 ng-repeat によって生成されたスコープ。"x!='a'"
其实就是$scope.x != 'a'
,顺带一提这个$scope
是ng-repeat
产生的scope。下面的
test()
当然会变parse成$scope.test()
在ngRepeat的scope中没找到方法,所以从父scope中找到了你的方法, 然后你的方法return的是一个字符串, 所以判断永远是true
次のtest()
は、もちろん$scope.test()
に解析されます。ngRepeat のスコープ内でメソッドが見つからなかったため、メソッドは親スコープの場合、メソッドは文字列を返すため、判定は常にtrue
になります。