2016-12-24 86 views
0

我有一个离子应用程序的问题。我创建了一个service.js文件,我想创建相同的工厂。离子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"; 
    } 
    } 
}); 

在哪里建立新的工厂名为MyService与函数sayHello的。

在我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包括:

<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

你必须使用它的控制器工厂功能

.controller('iMontiCtrl', ['$scope', '$stateParams', 'MyService', //<-- inject service here 
function ($scope, $stateParams, MyService) { 
+0

由于之前注入的DI阵列MyService。它工作正常! –