首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我正在尝试将Azure后端与离子角度前端连接起来

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

Stack Overflow用户
提问于 2016-08-27 20:56:48
回答 1查看 65关注 0票数 1

该表名为sport,我尝试在下拉列表中显示sport列中的列表。我得到的错误是Error:$injector:unpr Unknown provider: sportServiceProvider <- sportService <- sportCtrl,我看不到错误在哪里,有人能帮助我吗?

代码语言:javascript
运行
复制
 <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

代码语言:javascript
运行
复制
 (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: "",

  });

控制器是:

代码语言:javascript
运行
复制
 (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();
}
 })();
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-29 10:13:35

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

您可以在sport.js中为angular实例定义一个全局变量,例如

代码语言:javascript
运行
复制
app = angular
    .module('starter',...)

并使用此全局变量代替angular.module('starter'),例如

代码语言:javascript
运行
复制
app.controller('sportCtrl', sportCtrl);

否则,你可以为你的控制器定义一个新的angular模块并注入到主angular模块中。例如。

在你的controller.js

代码语言:javascript
运行
复制
angular
    .module('starter.ctrl')
    .controller('sportCtrl', sportCtrl);

在你的sport.js

代码语言:javascript
运行
复制
angular
    .module('starter',[azure-mobile-service-module,'starter.ctrl'])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39181401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档