离子service.js不起作用

时间:2016-12-24 19:35:38

标签: javascript angularjs ionic-framework

我的离子应用有问题。我创建了一个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>

但我没有看到问题。

1 个答案:

答案 0 :(得分:0)

在控制器工厂函数

中使用之前,必须在DI阵列中注入MyService
.controller('iMontiCtrl', ['$scope', '$stateParams', 'MyService', //<-- inject service here
function ($scope, $stateParams, MyService) {