该表名为sport,我尝试在下拉列表中显示sport列中的列表。我得到的错误是Error:$injector:unpr Unknown provider: 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();
}
})();发布于 2016-08-29 10:13:35
似乎你已经在你的sport.js和controller.js脚本中初始化了名为starter的重复的angular模块。在controller.js脚本中,您已经创建了一个没有注入sportService的新angular应用程序实例。
您可以在sport.js中为angular实例定义一个全局变量,例如
app = angular
.module('starter',...)并使用此全局变量代替angular.module('starter'),例如
app.controller('sportCtrl', sportCtrl);否则,你可以为你的控制器定义一个新的angular模块并注入到主angular模块中。例如。
在你的controller.js中
angular
.module('starter.ctrl')
.controller('sportCtrl', sportCtrl);在你的sport.js中
angular
.module('starter',[azure-mobile-service-module,'starter.ctrl'])https://stackoverflow.com/questions/39181401
复制相似问题