【发布时间】:2014-12-15 04:37:17
【问题描述】:
我正在尝试将控制器中的 get 请求中的经度和纬度传递给我的指令。但是,就目前的代码而言,在指令中调用时范围变量是“未定义的”。如果我 'console.log($scope.lat);'在我的控制器中,在获取请求之后它也是“未定义的”,所以似乎范围变量没有被传递到请求之外。有人知道为什么是这样吗?谢谢
angular.module('Ski').controller('MapCtrl', function($scope, $http) {
'use strict';
$http.get('https://quiet-journey-8066.herokuapp.com/mountains/5').success(function(response) {
$scope.mountain = response.name;
$scope.lat = response.latitude;
$scope.lng = response.longitude;
});
});
angular.module('Ski').directive('mapCanvas', function() {
return {
scope: {mapCanvas : '='},
link: function(scope, element, attrs) {
var myLatlng = new google.maps.LatLng(scope.$parend.lat, scope.$parent.lng);
var mapOptions = {
center: myLatlng,
zoom: 14
};
var map = new google.maps.Map(element[0], mapOptions);
}
};
});
【问题讨论】:
标签: javascript angularjs angularjs-scope