我正在尝试将我的Azure后端与我的离子角度前端连接起来

时间:2016-08-27 12:56:48

标签: angularjs azure ionic-framework

该表名为sport,我试图在下拉列表中显示列sport的列表。 我得到的错误是错误:[$ injector:unpr]未知的提供者:sportServiceProvider< - sportService< - sportCtrl我无法看到错误在哪里,任何人都可以帮忙吗?

 <ion-view view-title="Choose Your Team">
  <ion-content      ng-controller="sportCtrl as vm" >


    <label class="item item-input item-select item-positive">
        <div class="input-label">
            Sport
        </div>

        <select>
            <option>
               {{vm.sport}}  
            </option>
           </select>
    </label>                     
    </div>

获得这项运动的服务是sport.js

 (function () {
 'use strict';

sportService.$inject = ['$http'];

angular
    .module('starter',[azure-mobile-service-module])
    .factory('sportService', sportService);



function sportService($http) {
    var service = {
        getData: getData
    };

    return service;

    function getData() {
        Azureservice.query('sport', {})
    .then (function(sport)
    {
        vm.sport = sport;
    })}
   }
  })();


 angular.module('starter').constant('AzureMobileServiceClient', {
API_URL: "https://",
API_KEY: "",

  });

,控制器是:

 (function () {
'use strict';

sportCtrl.$inject = ['sportService'];

angular
    .module('starter')
    .controller('sportCtrl', sportCtrl);



function sportCtrl(sportService) {
    var vm = this;


    activate();

    function activate() { }

    vm.sportname  = sportService.getData();
}
 })();

1 个答案:

答案 0 :(得分:0)

您似乎已在startersport.js脚本中初始化了名为controller.js的重复角度模块。在controller.js脚本中,您创建了一个没有注入sportService的新角度应用程序实例。

您可以在sport.js中为角度实例定义全局变量,例如

app = angular
    .module('starter',...)

并使用此全局变量而不是angular.module('starter'),例如

app.controller('sportCtrl', sportCtrl);

否则,您可以为控制器定义一个新的角度模块,并注入主角度模块。 例如。

controller.js

angular
    .module('starter.ctrl')
    .controller('sportCtrl', sportCtrl);

在您的sport.js

angular
    .module('starter',[azure-mobile-service-module,'starter.ctrl'])