您的角度模块需要正确初始化。
app需要正确定义和初始化全局对象以注入服务。
请参阅以下示例代码以供参考:
app.js
var app = angular.module('SampleApp',['ngRoute']); //You can inject the dependencies within the square bracketapp.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) { $routeProvider .when('/', { templateUrl:"partials/login.html", controller:"login" }); $locationProvider .html5Mode(true);}]);app.factory('getSettings', ['$http', '$q', function($http, $q) { return { //Code edited to create a function as when you require service it returns object by default so you can't return function directly. That's what understand... getSetting: function (type) { var q = $q.defer(); $http.get('models/settings.json').success(function (data) { q.resolve(function() { var settings = jQuery.parseJSON(data); return settings[type]; }); }); return q.promise; } }}]);app.controller("globalControl", ['$scope','getSettings', function ($scope,getSettings) { //Modified the function call for updated service var loadSettings = getSettings.getSetting('global'); loadSettings.then(function(val) { $scope.settings = val; });}]);示例HTML代码应如下所示:
<!DOCTYPE html><html> <head lang="en"> <title>Sample Application</title> </head> <body ng-app="SampleApp" ng-controller="globalControl"> <div> Your UI elements go here </div> <script src="app.js"></script> </body></html>
请注意,控制器不是绑定到HTML标签,而是绑定到body标签。另外,请尝试在HTML页面末尾包含您的自定义脚本,因为出于性能原因,这是要遵循的标准做法。
我希望这可以解决您的基本注射问题。



