2014-02-22 74 views
0

我想在下面的代碼片段注入$位置服務:

<script type="text/javascript"> 

      var $injector = angular.injector(['ng', 'kinvey', 'app.constants']); 


      $injector.invoke(['$kinvey', 'CONST','URI_PATH', function($kinvey, CONST, URI_PATH) { 
       $kinvey.init({ 
        appKey : CONST.appKey, 
        appSecret : CONST.appSecret 
       }).then(function() { 
        console.log("success to connect"); 
        angular.bootstrap(document, ['app']); 
       }, function() { 
        angular.bootstrap(document, ['app']); 
       }); 
      }]); 

</script> 

我不能在上面的腳本注入$位置服務。該腳本位於我的index.html文件中,該文件包含我的<ng-view></ng-view>只是爲了繪製更好的頁面結構的精神圖片。

而且我收到以下錯誤:link

回答

0

同比有沒有嘗試使用$ locationProvider?然後$ locationProvider $ get()方法。

在Angular引導完全之前$ location服務不可用,因爲只有在應用程序的配置階段纔會使用相應的提供程序實例化服務。

+0

是的我試過使用$ locationProvider,但是我收到了錯誤中提到的錯誤。順便說一下,完全自舉是什麼意思? –

+0

直到角度初始化應用程序之後,您才能進入$ location服務,您必須在angular.bootstrap(document,['app']); - 您需要將其注入到控制器/指令/服務中您能否提供更多關於您想要實現的信息? –

+0

我想注入$ location服務,這樣如果kinvey在啓動時無法初始化,我將它重定位到一個錯誤頁面。 –