我正在创建一个使用一些 angular-ui 指令的应用程序,例如 ui-map 指令及其依赖项 ui-event,事情是我想为具有一些共同功能的不同控制器创建路由,例如访问权限gmap 事件。为了实现这一点,我使用了 ng-View 本机 angular 指令,但问题是该指令创建了一个新范围,因此我无法访问预览范围。如果您阅读代码,也许您会更好地理解我。
angular.module('Maptesting', ['ngRoute', 'ui.map', 'ui.event'])
.config (function ($routeProvider) {
$routeProvider
.when('/', {
})
.when('/newSector', {
templateUrl: 'newSector.html',
controller: 'newSector'
})
})
.controller('CtrlGMap', ['$scope', function($scope) {
$scope.mapOptions = {
center: new google.maps.LatLng(-54.798112, -68.303375),
zoom: 11,
mapTypeId: google.maps.MapTypeId.SATELLITE,
disableDefaultUI: true
};
}])
.controller('newMarker', ['$scope', function($scope){
$scope.myMarker = null;
$scope.addMarker = function ($event, $params) {
$scope.myMarker = new google.maps.Marker({
map: $scope.myMap,
position: $params[0].latLng,
})
};
}])
HTML:
<body ng-controller="CtrlGMap" id="map">
<div id="map_canvas" class="map-canvas" ui-map="myMap"
ui-event="{'map-click': 'addMarker($event, $params)'}"
ui-options="mapOptions"></div>
<div ui-map-info-window="myInfoWindow">
<p>{{ name || "Set the name"}}</p>
</div>
<div ui-map-marker="myMarker"
ui-event="{'map-click': 'openMarkerInfo(myMarker)'}">
</div>
<div ng-view></div>
我如何才能访问父范围?