2015-04-20 2 views
3

У меня есть приложение angularJs + CordovaJs + машинопись Я пытаюсь внедрить услугу в контроллерНе удается внедрить услугу контроллер angularJs + CordovaJs (машинопись)

module EC { 
export class Bootstrap { 
constructor($scope) { 
    angular.module('ec', ['ec.services', 'ec.controllers']); 
    angular.module('ec.services', []); 
    angular.module('ec.controllers', []); 

    //Constructor for class EC.Services.DataProxyService called 
    angular.module('ec.services').factory("DataProxyService", EC.Services.DataProxyService); 

    //Version 1 
    // It is not working. Alert doesn't call 
    angular.module('ec.controllers').controller("HomeController", ['$scope', 'DataProxyService', EC.Controllers.HomeController]); 

    //Version 2 
    //If I change previous on that 
    //it work's but I don't have access to DataProxyService 
    //angular.module('ec.controllers').controller("HomeController", ['$scope', EC.Controllers.HomeController]); 
    } 
    } 
} 

вызов этого класса в отдельном файле яваскрипта (index.js)

var init = new EC.Bootstrap(); 

Я очень смущен, потому что он должен работать, но он не работает на андроид устройства (мобильный телефон) и андроид эмулятор

Я пытался использовать много вариантов, но они тоже не работали, и в любом случае этот случай должен работать

У меня проблема с отладочным кодом. Я не могу получить ошибку, но простая угловая часть не работает для версии 1 и работать для версии 2

UPD: 2 Я использую глотку так что я получаю следующий файл как результат:

/// <reference path="references.ts" /> 
var EC; 
(function (EC) { 
    var Bootstrap = (function() { 
     function Bootstrap($scope) { 
      angular.module('ec', ['ec.services', 'ec.controllers']); 
      angular.module('ec.services', []); 
      angular.module('ec.controllers', []); 
      //Constructor for class EC.Services.DataProxyService called 
      angular.module('ec.services').factory("DataProxyService", EC.Services.DataProxyService); 
      //Version 1 
      // It is not working. Alert doesn't call 
      angular.module('ec.controllers').controller("HomeController", ['$scope', 'DataProxyService', EC.Controllers.HomeController]); 
      //Version 2 
      //If I change previous on that 
      //it work's but I don't have access to DataProxyService 
      //angular.module('ec.controllers').controller("HomeController", ['$scope', EC.Controllers.HomeController]); 
     } 
     return Bootstrap; 
    })(); 
    EC.Bootstrap = Bootstrap; 
})(EC || (EC = {})); 
//# sourceMappingURL=boot.js.map 
//// <reference path="../scripts/typings/tsd.d.ts" /> 
//// <reference path="../../typings/kendo.all.d.ts" /> 
//// <reference path="../../typings/api.d.ts" /> 
//# sourceMappingURL=references.js.map 
/// <reference path="../references.ts" /> 
var EC; 
(function (EC) { 
    var Controllers; 
    (function (Controllers) { 
     var HomeController = (function() { 
      /*@ngInject*/ 
      function HomeController($scope, dataProxyService) { 
       this.name = "Smith"; 
       alert('HomeController'); 
       alert($scope); 
       alert(dataProxyService); 
       $scope.vm = this; 
      } 
      return HomeController; 
     })(); 
     Controllers.HomeController = HomeController; 
    })(Controllers = EC.Controllers || (EC.Controllers = {})); 
})(EC || (EC = {})); 
//# sourceMappingURL=home-controller.js.map 
/// <reference path="../references.ts" /> 
var EC; 
(function (EC) { 
    var Services; 
    (function (Services) { 
     var DataProxyService = (function() { 
      /*@ngInject*/ 
      function DataProxyService() { 
       alert('DataProxyService'); 
      } 
      return DataProxyService; 
     })(); 
     Services.DataProxyService = DataProxyService; 
    })(Services = EC.Services || (EC.Services = {})); 
})(EC || (EC = {})); 
//# sourceMappingURL=dataProxyService.js.map 
+0

где вы определяете 'EC.Services.DataProxyService' – rob

+0

В одном файле с другим/я добавил, чтобы начать сообщение, пример кода, который я получаю после «gulp» –

+0

, где вы определяете модуль 'ec.services'. например angular.module ('ec.services', []) – rob

ответ

0

Попробуйте

module EC { 
    export class Bootstrap { 
constructor($scope) { 
    angular.module('EC', []); 
    angular.module('Services', []); 

    //Constructor for class EC.Services.DataProxyService called 
    angular.module('Services').service("DataProxyService", [Services.DataProxyService]); 

    //Version 1 
    // It is not working. Alert doesn't call 
    angular.module('EC', ['Services']).controller("HomeController", ['$scope', 'DataProxyService', Controllers.HomeController]); 

    //Version 2 
    //If I change previous on that 
    //it work's but I don't have access to DataProxyService 
    //angular.module('ec.controllers').controller("HomeController", ['$scope', EC.Controllers.HomeController]); 
} }} 

Изменить мес имя dule для простого имени типа «Service» и «Controller» в файлах * .ts