该表名为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();
}
})();
答案 0 :(得分:0)
您似乎已在starter
和sport.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'])