[英]unable to register service in angular js
我在加载页面上收到以下错误:scripts.js:10
未捕获的ReferenceError:未定义SimpleAppService
我的HTML页面
<!DOCTYPE html> <html> <head> <script src="angular.js"></script>
<script src="scripts.js"></script> <script
src="MathFactory.js"></script> <script
src="SimpleAppService.js"></script> </head>
<body ng-app="mainModule"> <div ng-controller="simpleController">
<strong>First name:</strong> {{person.firstName}}<br />
<strong>Last name:</strong> {{person.lastName}}<br />
<strong>Full name:</strong> {{getFullName()}}<br />
<br />
<label>Set the first name: <input type="text" ng-model="person.firstName"/></label><br />
<label>Set the last name: <input type="text" ng-model="person.lastName"/></label> </div> </body> </html>
用于角度脚本的scripts.js:
angular.module("mainModule", []).value("person", {
firstName:
"firstName",
lastName: "lastName",
getFullName: function () {
return firstName + " " + lastName;
}
})
.service("SimpleAppService", SimpleAppService)
.controller("simpleController", ["SimpleAppService", function
($scope, person) {
$scope.person = person;
$scope.getFullName =
function () {
return person.firstName + person.lastName;
}
}
]);
我的服务
var mainModule = angular.module("mainModule", []);
mainModule.service("SimpleAppService", function (MathFactory) {
this.square = function (a) {
return MathFactory.multiply(a, a);
}
this.add = function (a, b) {
return MathFactory.add(a, b);
}
});
我的工厂:
var mainModule = angular.module("mainModule", []);
mainModule.factory('MathFactory', function () {
var factory = {};
factory.multiply = function (a, b) {
return a * b;
}
factory.add =
function (a, b) {
return a + b;
}
factory.sub = function (a, b) {
return a - b;
}
return factory;
});
您正在覆盖每个服务/工厂文件中的模块mainModule
。
在script.js中仅定义一次模块
var mainModule = angular.module("mainModule", []);
然后把它拿来注册服务,并用它在其他文件MathFactory.js和SimpleAppService.js以下
var mainModule = angular.module("mainModule");
mainModule.service('service' ...);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.