-2
我在一個指令中聲明瞭一個控制器medicineAutocomplete
。現在我想將$ http注入到控制器中,但我無法找到正確的方法來完成它。我這樣做,但它似乎並沒有工作:如何通過指令定義控制器時執行依賴注入?
app.directive('medicineAutocomplete', function() {
return {
restrict: 'E',
templateUrl: 'medicine-autocomplete.html',
controller: medicineAutocomplete,
controllerAs: 'ctrl'
};
});
medicineAutocomplete.$inject = ['$scope', '$http']; //is this right?
function medicineAutocomplete ($timeout, $q, $http, $scope) {
...
}
這工作!謝謝!我最初沒有將它們添加到依賴項列表中,因爲我的應用程序沒有它就可以正常工作。我想知道這是如何工作的。 – arjunnn
是的。你可以在不使用'$ inject'注入依賴的情況下工作。但是,如果你縮小你的應用程序,那麼角度無法識別哪個依賴是哪個。這就是爲什麼我們使用'$ inject'注入與字符串相同的依賴關係。 –