2014-05-22 19 views
22

Chỉ có thể gọi phương thức khi điều kiện trong ng-if là đúng không? Tôi có một lặp lại như thế nàychỉ gọi phương thức nếu ng-if là đúng

<div ng-repeat="i in items" ng-if="i.loc == 'abc'"> 
    <h1>Hello.. {{getName()}}</h1> 
</div> 

đây là đoạn code js

$scope.getName = function() { 
    console.log('fired'); 
    return "myName"; 
} 

Từ giao diện điều khiển tôi có thể thấy rằng phương pháp này được bắn nhiều lần sau đó items.length và điều kiện i.loc. Vì vậy, làm thế nào để gọi phương thức này bên trong chỉ khi ng-if là đúng

Trả lời

46

Nếu điều kiện là đúng, someMethod() sẽ được gọi. Ví dụ,

<div ng-repeat="i in items" 
    ng-if="i.name == 'abc'" 
    ng-init="someMethod()"> 
</div> 
+0

Tôi có tình huống tương tự nhưng tôi phải gọi phương thức khi ng-nếu giá trị của là sai. Là có một cách? @Dinesh ML –

+0

@RahulPandey, bạn có thể thử gọi cùng một điều kiện giống như cách chỉ thêm '!' trước: ví dụ: ng-if = "i.name! = 'abc'" hoặc ng-if = "! (i.name == 'abc)'" – Li3ro

0

nếu bạn muốn gọi chức năng khi điều kiện là đúng hay sai, bạn có thể thử này:

<md-card 
     class="ew-service-card" 
     ng-click="campaign.status == 'completed' ? $ctrl.newServiceCard() : $ctrl.newServiceCardDisable()"> 
</md-card> 
Các vấn đề liên quan