angular.js - ng-if 定义一个方法,返回字符串,为什么不对
PHP中文网
PHP中文网 2017-05-15 17:04:14
0
2
538

这样写是对的

<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中文网
PHP中文网

认证高级PHP讲师

répondre à tous(2)
漂亮男人

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';
}
为情所困

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal