recherche

Maison  >  Questions et réponses  >  le corps du texte

angulaire.js - ng-if définit une méthode et renvoie une chaîne, pourquoi est-ce faux ?

C'est la bonne chose à écrire

<li ng-repeat="(x, y) in item" ng-if="x!='a'"></li>

Écrire comme ceci affichera tout, ng-if n'est pas exécuté

<li ng-repeat="(x, y) in item" ng-if="test()"></li>

...

$scope.test = function(){
    return "x!='a'"
}
PHP中文网PHP中文网2792 Il y a quelques jours574

répondre à tous(2)je répondrai

  • 漂亮男人

    漂亮男人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';
    }

    répondre
    0
  • 为情所困

    为情所困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.

    répondre
    0
  • Annulerrépondre