Javascript-форум (https://javascript.ru/forum/)
-   Angular.js (https://javascript.ru/forum/angular/)
-   -   Как вывести CurrentScope в темплейте? (https://javascript.ru/forum/angular/49097-kak-vyvesti-currentscope-v-templejjte.html)

Tek 29.07.2014 11:15

Как вывести CurrentScope в темплейте?
 
Использую google-maps-angular есть необходимость выводить окна, делаеться это через директиву:
<windows ng-cloak templateParameter="'windowData'" isIconVisibleOnClick="true" options="{maxWidth:500}">
<p><b>Name</b>:{{templateParameter.Name}}</p>
<p ng-show="templateParameter.Address != null"><b>Address</b>:{{templateParameter.Address}}</p>
<p ng-show="templateParameter.Rating != null"><b>Rating</b>:{{templateParameter.Rating}}</p>
</windows>
Проблема в том что никак не могу обратиться к скоупу который создает windows. Cмотрел в firebug (с помощью расширения AngScope) - данные лежат в templateParameter. Можно ли вывести текущий scope в темплейте, чтобы посмотреть что доступно из него?

cryaros 29.07.2014 13:47

Насколько я понимаю, можно так
 
В контроллере директивы пишешь
scope.printCurrentScope = function() {
    console.log(angular.element(element).scope());
}

а в самом шаблоне
{{printCurrentScope }}

Сервис "element" должен быть прописан в атрибутах функции link
link: function(scope, element, attrs) {}


Часовой пояс GMT +3, время: 10:35.