私は自分の関数をコントローラの外に定義します。私は関数の1つで$ filterを使用したいと思います。コントローラー($ scope.test1が動作する)の内部で動作することがわかりますが、doSomethingで$ filter関数が見つかりません。私はそれを把握するのを助けてください。コントローラ内でdoSomethingを動かすと動作しますが、それをやりたいとは思いません。
angular.module('myapp',[])
.controller('appController',['$scope','$filter',function($scope,$filter) {
$scope.doSomething = doSomething;
//WORKS
$scope.test1 = $filter('filter')([{typeid:1},{typeid:2}], { typeid: 2 }, true);
}]);
function doSomething($filter) {
//DOES NOT WORK
test2 = $filter('filter')([{typeid:1},{typeid:2}], { typeid: 1 }, true);
alert(test2);
}