我的离子应用有问题。我创建了一个service.js
文件,我想创建相同的工厂。
在我的app.js
我有这一行:
angular.module('app', ['ionic', 'app.controllers', 'app.routes', 'app.directives','app.services'])
我加载控制器,路由,指令和服务。
这是我的services.js
angular.module('app.services', [])
.factory('MyService', function () {
return {
sayHello: function () {
return "HELLO";
}
}
});
使用函数sayHello创建名为MyService
的新工厂。
在我的controller.js
我有这段代码
angular.module('app.controllers', ['app.services'])
.controller('iMontiCtrl', ['$scope', '$stateParams',
function ($scope, $stateParams, MyService) {
$messaggio = "Test";
alert($messaggio);
$scope.messaggio1 = MyService.sayHello();
alert($messaggio+"2");
}])
此代码仅显示alert($messaggio)
,但不显示alert($messaggio+"2")
如果我发表评论Myservice.sayHello()
,它的工作正常。
我还会检查index.html
include:
<script src="js/app.js"></script>
<script src="js/controllers.js"></script>
<script src="js/routes.js"></script>
<script src="js/directives.js"></script>
<script src="js/services.js"></script>
但我没有看到问题。
答案 0 :(得分:0)
在控制器工厂函数
中使用之前,必须在DI阵列中注入MyService
.controller('iMontiCtrl', ['$scope', '$stateParams', 'MyService', //<-- inject service here
function ($scope, $stateParams, MyService) {