2014-01-14 12 views
7
<div ng-repeat=" x in z"> 
    <div ng-if="function(x).y" > 
     display this 
    </div> 
</div> 

上記のコードでは、ng-if関数(x)は更新せずに呼び出されません。AngularJs ng-if同じコントローラからの関数呼び出しが動作しない場合

私が何かを逃しているかどうかを確認し、提案してください。ここで

+1

もっと多くのコード(ng-appとコントローラ全体)を提供してください。また、指示文の中の何かが厳密にJavaScriptではないことに気をつけてください。 – Yoeri

答えて

11

は、実施例

angular.module('app', []) 
.controller('ctrl', function($scope) { 
    $scope.z = [1,2,3]; 
    $scope.display = function(x) { 
     return x === 2 
    }; 
}); 

<div ng-app="app" ng-controller='ctrl'> 
    <div ng-repeat=" x in z"> 
     <div ng-if="display(x)" > 
      display this 
     </div> 
    </div> 
</div> 

そしてfiddleです。

+0

私はこれとまったく同じようにしています。最初の呼び出しでは、表示関数が呼び出されますが、後で別のルートURLから来たら、表示は再び呼び出されません。それに関する提案はありますか? – akmsharma

+0

ありがとう、私はチェックする必要がある別のフラグ値を持っていた。今はうまくいく。 – akmsharma

関連する問題