0

我有一个问题,我需要在 angular.boostrap 中加载一个模块,而不是在它之前,但是在我告诉加载它之前,angular 会一直加载它。

这里我调用 angular.boostrap 方法,这个函数被称为 GMaps api 的回调,所以我知道这是因为 console.log

function onGoogleReady() {
  console.log("GMaps api initialized.");
  angular.bootstrap(document.getElementById('map', ['app.ui.map']));
}

这是我的模块:

angular.module('myAppModule', ['ui.map'])
.controller('CtrlGMap', ['$scope', function($scope) {
    $scope.mapOptions = {
        center: new google.maps.LatLng(35.500, -78.500),
        zoom: 11,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
}]);

最后是我的应用程序 HTML

<html ng-app="myAppModule">

<section id="map">
    <div ui-map="myMap" ui-options="mapOptions" class="map-canvas"></div>
</section>

4

1 回答 1

2

ng-app指令引导您的应用程序。如果你想手动引导它,你不应该使用ng-app. angular.bootstrap还需要模块来引导;在这种情况下,这是您的模块(由于定义myAppModule,它已经依赖于)。因此,您的代码将类似于以下内容:ui.mapangular.module

function onGoogleReady() {
  console.log("GMaps api initialized.");
  var body = document.getElementsByTagName('body')[0];
  angular.bootstrap(body, ['myAppModule'])
}
于 2013-09-11T23:52:20.893 回答