2015-09-28 97 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