Maison > Questions et réponses > le corps du texte
这样写是对的
<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'"
}
漂亮男人2017-05-15 17:06:14
Premièrement, vous n'avez pas transmis x, et deuxièmement, ce que vous avez renvoyé était une chaîne, et la chaîne est toujours correcte. Essayez de l'écrire comme ceci :
<li ng-repeat="(x, y) in item" ng-if="test(x)"></li>
$scope.test = function(x){
return x!='a';
}
为情所困2017-05-15 17:06:14
Laissez-moi vous expliquer un concept. Les éléments de ng-if sont appelés expressions angulaires, et angulaire analysera cette expression. "x!='a'"
est en fait $scope.x != 'a'
D'ailleurs, ceci $scope
est la portée générée par ng-repeat
.
Le test()
suivant sera bien sûr analysé dans $scope.test()
Aucune méthode n'a été trouvée dans la portée de ngRepeat, j'ai donc trouvé votre méthode dans la portée parent, puis votre méthode a renvoyé une chaîne, donc le jugement est. c'est toujours true
.