Я не могу понять, почему я не могу получить доступ к свойствам $ scope из директивы, в документации говорится, что директивы не создают новые области видимости, поэтому почему я не могу Свойства $ scope?
в app.js
'use strict';
var climbingApp = angular.module('climbingApp', []);
climbingApp.controller('ctrl', function($scope) {
$scope.initLocation = {
lat: -54.798112,
lng: -68.303375
};
на Google-map.js
'use strict';
climbingApp.directive('gmap', function() {
return {
restrict: 'E',
replace: true,
template: '<div id="map-canvas"></div>',
link: function(scope, iElement, attrs) {
console.log(scope.initLocation);
},
}
})
в index.html
<html ng-app="climbingApp">
<body>
<gmap></gmap>
</body>
</html>
<script src="//code.angularjs.org/1.2.0-rc.2/angular.min.js"></script>
<script src="app/app.js"></script>
<script src="app/dependencies/google-maps.js"></script>
console.log
всегда возвращает undefined.
Я не знаю, почему это не работает для меня ... –
Потому что, если вы видите ваш контроллер в функции обратного вызова у вас нет Params. Но в вашем контроллере вы используете $ scope. И в AngularJS, если вы хотите использовать $ scope, вы должны передать его в параметре функции контроллера. Ты понимаешь это ? –
Да, конечно, я ввел $ scope в контроллер 'ctrl', и он не сработал –