2015-06-25 2 views
0
.directive('dateRange', [ 
    function() { 
     return { 
      scope:{}, 
      restrict: 'A', 
      controller: 'dateRangeController', 
      templateUrl: "daterange.tpl.html", 
      link: function (scope, element) { 
       var container = element; 

       scope.dosmth = function() { 
        ... 
       }; 
      } 
     }; 
    } 
]); 


<span ng-click="dosmth()"> 

Все, что мне нужно, это получить доступ к области и контейнеру внутри функции dosmth(). Я знаю, что это возможно. Но я не могу понять, почему в этом случае это не сработает.Область применения функций связи

+1

Это должно работать. Можете ли вы создать скрипку? –

+0

, так как это изолированная директива scope, вы должны определить переменные родительской области, к которым вы хотите получить доступ, в определении области. Вместо 'scope: {}' упоминайте переменные, например. 'scope: {variableorFunctionTobeaccessed: '@'}' –

+0

На этом этапе мне просто нужен доступ к 'scope' внутри dosmth() – AngryDev

ответ

0

В отдельной директиве scope, которую вы создали, область не имеет ничего унаследованного от родителя, поскольку декларация пуста scope:{}. Опишите переменные или функции там, как показано ниже.

scope: { 
       varOne:'@', 
       vartwo:'=', 
       methodone:'&' 

      } 

или удалить scope:{} из вашего определения директивы.

+0

внутри scope.dosmth() {...}; Мне просто нужно получить доступ к «сфере действия» - пока нет. – AngryDev

+0

Как вы пытаетесь получить доступ к области действия внутри 'dosmth()'? –

+0

просто набрав в консоли отладки «область» – AngryDev

Смежные вопросы