Angularjs 从指令内部访问服务';编辑
我很难访问指令中的服务。我通过$http和$q定义我的服务,并将其注入到我的指令中。但我可以;无法获取访问该服务的指令 service.jsAngularjs 从指令内部访问服务';编辑,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我很难访问指令中的服务。我通过$http和$q定义我的服务,并将其注入到我的指令中。但我可以;无法获取访问该服务的指令 service.js 'use strict'; var app = angular.module('App.services', []); app.factory('Classification', function($http,$q) { return { query: function getAll() { var def
'use strict';
var app = angular.module('App.services', []);
app.factory('Classification', function($http,$q) {
return {
query: function getAll() {
var deferred = $q.defer();
$http.get('index.php/classifications').then(function(classi) {
deferred.resolve(classi.data);
}, function getWebsitesError(reason) {
deferred.reject(reason);
});
return deferred.promise;
}
};
});
app.js
'use strict';
/* App Module */
var app = angular.module('App', ['App.controllers', 'App.services', 'App.directives', 'ui']);
app.config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/', {templateUrl: 'partials/welcome.html'}).
when('/websites/:websiteId', {templateUrl: 'partials/website/details.html', controller: 'WebsiteDetailsCtrl'}).
otherwise({redirectTo: '/'});
}]);
和my directive.js:
'use strict';
var app = angular.module('App.directives', ['App.services']);
app.directive("regionselect",['Classification', '$compile', function($compile, Classification){
Classification.query();<-- Throw an exception : has no method query()
return{
restrict : "E",
templateUrl : "/js/directives/locationSelect3.html",
transclude: true,
compile: function (tElement, tAttr, transclude){
var loaded = false;
}
};
}]);
“严格使用”;
var app=angular.module('app.directives',['app.services']);
app.directive(“regionselect”、['Classification'、'$compile',function($compile,Classification){
Classification.query();可能是排序问题吗
app.directive("regionselect",['Classification', '$compile', function($compile, Classification){
你申报
['Classification', '$compile',
但是函数说
function($compile, Classification){
这是倒退。OMG!!!!我已经很久没有问过这么愚蠢的问题了!谢谢你,伙计!