Angularjs服务未定义
正在构建一个角度应用程序,但服务或工厂未定义错误。特别是“无法读取未定义的setName属性”。我已经去找出我的错误了。甚至改变了我的语法,认为我可能有一些不合适的地方,但仍然抛出了一个未定义的错误 这是控制器:Angularjs服务未定义,angularjs,Angularjs,正在构建一个角度应用程序,但服务或工厂未定义错误。特别是“无法读取未定义的setName属性”。我已经去找出我的错误了。甚至改变了我的语法,认为我可能有一些不合适的地方,但仍然抛出了一个未定义的错误 这是控制器: (function() { "use strict"; angular .module("app", []) .controller("mainCtrl", ["$scope", mainCtrl]); function mainCtrl($scope,
(function() {
"use strict";
angular
.module("app", [])
.controller("mainCtrl", ["$scope", mainCtrl]);
function mainCtrl($scope, productService) {
$scope.testService = productService.setName("Data Service");
}
}());
以下是服务脚本:
(function() {
"use strict";
angular
.module("app")
.service("productService", function() {
var serviceObj = {};
serviceObj.name = '';
serviceObj.setName = function(newName) {
serviceObj.name = newName;
};
return serviceObj;
});
}());
最初,我的服务是:
(function() {
"use strict";
angular
.module("app")
.service("productService", setName);
function setName(newName) {
var serviceObj = {};
serviceObj.name = '';
serviceObj.setName = function(newName) {
serviceObj.name = newName;
};
return serviceObj;
}
}());
我最近遇到了这个问题,似乎在创建控制器之前必须定义函数。我建议采用以下方法:
(function () {
"use strict";
//function
function mainCtrl($scope, productService) {
$scope.testService = productService.setName("Data Service");
}
//Controller and Module Init
angular
.module("app", [])
.controller("mainCtrl", mainCtrl);
//Inject requirements (This is needed for Minification)
mainCtrl.$inject = ["$scope", "productService"];
}());
我最近遇到了这个问题,似乎在创建控制器之前必须定义函数。我建议采用以下方法:
(function () {
"use strict";
//function
function mainCtrl($scope, productService) {
$scope.testService = productService.setName("Data Service");
}
//Controller and Module Init
angular
.module("app", [])
.controller("mainCtrl", mainCtrl);
//Inject requirements (This is needed for Minification)
mainCtrl.$inject = ["$scope", "productService"];
}());
将产品服务添加到控制器声明
['$scope',
->['$scope',productService'
,您缺少内置$http
服务而不是自定义服务的productService注释(如果不重复),将产品服务添加到控制器声明['$scope',
->['$scope','productService'
,您缺少productService的注释(如果不重复)使用内置的$http
服务而不是定制服务,这是可行的,尽管我很好奇它为什么有效,并将在您发现后继续查找,让我知道。这个问题以前一直困扰着我,因为我认为顺序在JS(或任何功能程序)中都不重要但这一定是与一个角精灵有关。虽然我很好奇它为什么会起作用,但当你发现后,我会继续寻找,让我知道。这个问题之前一直困扰着我,因为我认为顺序在JS(或任何功能程序)中并不重要,但它一定与一个角精灵有关。