2016-01-07 37 views
0

這是一個簡單的過濾器:如何在調用過濾器之前針對模型運行AngularJS函數?

http://jsfiddle.net/yctchgnk/69/

我試圖調用過濾器前,運行一個AngularJS功能。 但是ng-change事件沒有被觸發。如何在調用過濾器之前針對模型運行AngularJS函數?

源:

<input ng-change="changed" type="text" ng-model="search"> 
<ul ng-repeat="oneauth in authorisations | search"> 
{{entry.auth.name}} 
</ul> 

var app = angular.module('myapp', [], function() {}); 

app.controller('AppController', function ($scope) {  
    $scope.authorisations = [ 
     { 
      "auth":{ 
       "number":"453", 
       "name":"Apple Inc." 
      } 
     }, 
     { 
      "auth":{ 
       "number":"123", 
       "name":"Microsoft Inc." 
      } 
    }]; 

    $scope.changed = function(){ 
     alert('changed'); 
    } 
}); 

回答

1

只需更換

<input ng-change="changed" type="text" ng-model="search"> 

<input ng-change="changed()" type="text" ng-model="search"> 

希望工程!

1

有兩個錯誤在你的代碼:

1) 在NG-重複指定過濾器:

ng-repeat="oneauth in authorisations | filter : search" 

2) 在NG-改變指定功能:

ng-change="changed()" 

這裏是工作Fiddle

相關問題