我要注入$ HTTP在我的自定義過濾器,使用它在我的觀點:注入dependecy自定義過濾器angularJS
angular.module('demo').filter('quesByID',['$http', function() {
var input="";
return function(input) {
$http.get("http://localhost:3003/api/quiz/"+input).then(function(reponse){
input=reponse.data;
});
return input;
}
}]);
我有錯誤$ HTTP是沒有定義
angular.js:13920 ReferenceError: $http is not defined
at getQuestionById.js:4
at fn (eval at compile (angular.js:14817), <anonymous>:4:198)
at regularInterceptedExpression (angular.js:16043)
at expressionInputWatch (angular.js:15948)
at Scope.$digest (angular.js:17515)
at Scope.$apply (angular.js:17790)
at done (angular.js:11831)
at completeRequest (angular.js:12033)
at XMLHttpRequest.requestLoaded (angular.js:11966)
在哪裏我應該注入「$ http」的依賴嗎?
實際上你需要提供'$ http'作爲該功能的參數;即'函數($ http){' – Claies
爲什麼你使用這個過濾器? – charlietfl
您正在濫用篩選器。改爲使用服務。在控制器中這樣做(如答案所示)是一種快速解決方法,但很難稱之爲最佳實踐。 – estus