Я могу видеть свои данные в console.log
. Я просто не понимаю, почему я не могу получить к ней доступ с помощью $scope.$parent.locations
. Что мне не хватает?Передача переменной области действия в директиву
coupons.html
<div id="coupons-grid" coupons-repeater="locations">
</div>
<!-- <p> When uncommented, below I can see all my location data <p>
<p> {{ locations }} </p> -->
директива
.directive("couponsRepeater", function() {
return {
compile: function(elem, attr) {
return function($scope, $element, $attr) {
console.log($scope.$parent); // in the console I see "locations" which is the data I need
console.log($scope.$parent[$attr.couponsRepeater]); // comes back undefined - this is the call I would like to use because it's dynamic
console.log($scope.$parent.locations); // comes back undefined
}
}
}
})
CouponsCtrl
.controller('CouponsCtrl', function ($scope, $state, $http, $ionicLoading, userService) {
$scope.locations = {one:1, two:2, three:3};
})
Я немного смущен. Вы пытаетесь получить доступ к '$ scope. $ Parent', но директива не создает область - это было ваше намерение? Кроме того, вы можете показать, как директива и контроллер перехватывают? Он отлично работает для меня (я должен был добавить 'ng-if =" true "' для создания области): http: //plnkr.co/edit/WKGegNI79f2EMTDnRYK9? P = preview –
@NewDev +1, и я получил его работайте без 'ng-if' – Jacksonkr
да, вам не нужно' ng-if' - я просто использовал его, потому что я не был уверен, что ваше использование '$ scope. $ parent' было непреднамеренным или что-то еще было что вы не отправляли сообщения, поэтому я «исправил» его с помощью «ng-if» –