2015-09-28 126 views
1

我正在爲我的web應用程序使用angularjs,我想僅在特定頁面中加載Google地圖特定的JavaScript文件,任何人都可以幫我做到這一點?使用angularjs在外部頁面中加載外部庫

相應的JS文件:https://maps.googleapis.com/maps/api/js?v=3&sensor=true

我試圖把這個js文件在我的頁面上特定的模板被扔我的錯誤,如「d.init不是一個函數」,但那是工作的罰款,如果我加載JS文件在我的index.html。

不知道我在做什麼錯在這裏,所以任何人請在此建議我?

感謝, 西瓦

回答

2

在你的主控制器

$rootScope.$on('$stateChangeSuccess', 
     function(event, toState, toParams, fromState, fromParams){ 
      if(toState.name == 'somePage'){ 
       $scope.googlesrc = 'https://maps.googleapis.com/....' 
      } else { 
       $scope.googlesrc = '' 
      } 
     }); 

在HTML

<script ng-src="{{googlesrc}}"></script> 
+0

看起來像一個好主意,會嘗試和更新在某個時候,因爲我離我的筆記本電腦。 – Siva

+0

@SPACEATZ,抱歉在這裏的延遲響應,實際上我嘗試了你的方法,並且工作得很好。我對這種方法並不完全滿意,也許我們會爲很多頁面添加一個不需要的空白腳本標記。因此,在進行了一些研究之後,我又有了一個選擇來處理這種情況,那就是'ocLazyLoad',它允許我們包含特定於路由的資源。如果您有興趣瞭解更多信息,可以查看https://oclazyload.readme.io/docs/with-your-router。 – Siva

+0

將此標記爲正確答案,或許這種方法解決了問題,爲了更好的解決方案,請參閱我以前的評論。 – Siva