2016-05-16 38 views
0

我想在Apache Cordova中運行我的示例Angular代碼,但似乎在獨立Angular中工作的東西在使用Apache Cordova時無法在Visual Studio中工作。。工廠不能在Visual Studio的Cordova中工作

該方法取自Scott Allen在Pluralsight的AngularJS教程。我在'獨立'角度使用它,它工作:http://plnkr.co/edit/P12BG2eDaCR7PsNzGGFV。但爲什麼不在科爾多瓦?

我有兩個文件:

(function() { 

    var req = function ($http) { 

     var getTest = function (username) { 
      return $http.get("https://api.github.com/users/" + username) 
         .then(function (response) { 
          return response.data; 
         }); 
     }; 
     return { 
      getTest: getTest 
     }; 
    }; 

    var module = angular.module("starter.controllers"); 
    module.factory("req", req); 

}()); 

angular.module('starter.controllers', []) 

.controller('BrowseCtrl', function ($scope, $stateParams, req) { 

    var myTest = req.getTest("test"); 

}); 

不幸的是我最終得到

Error: [$injector:unpr] Unknown provider: reqProvider <- req <- BrowseCtrl

所有與此相關的錯誤,我發現的問題進行了相關的reintialisation該模塊通過添加「[]」,但這不是這裏的情況。

回答

0

好了...我的方法是好的,我只是忘了,包括在項目的index.html文件req.js

(...) 
<script src="js/app.js"></script> 
<script src="js/controllers.js"></script> 
<script src="js/req.js"></script> 
(...) 
0

第一隻學AngularJs然後用科爾多瓦

var myApp = angular.module('App', ['ngRoute', 'ngResource']); 

myApp.factory('MyService', function ($http, sessionService, $location, $window) { 
    return { 
     req: function (data) { 
     $http({ 
      async: false, 
      method: 'GET', 
      url: "", 
      //headers: { 'Authorization': 'bearer ' + session.sessionId } 
     }) 
     .success(function (data) { 

     }).error(function (error) { 

     }); 
     } 
    } 
}); 



myApp .controller('nameController', ['$http','MyService', function ($http, MyService) { 
MyService.req(data); 
}]); 

要控制器必須使用服務之間的連接。 有很多關於AngularJs的免費教程。 祝你好運:)

相關問題