2015-06-25 79 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

,因爲這是一個獨立的範圍指令,您必須在您的範圍定義中定義您想訪問的父範圍變量。而不是'範圍:{}'提及例如的變量。 '範圍:{variableorFunctionTobeaccessed:'@'}' –

+0

在這個階段,我只需要訪問dosmth內的'scope'() – AngryDev

回答

0

在您創建的隔離範圍指令中,由於聲明爲空,因此範圍沒有任何從父項繼承的任何內容。請在此處聲明變量或函數,如下所示。

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

      } 

或從您的指令定義中刪除scope:{}

+0

裏面scope.dosmth(){...};我只需要訪問'範圍' - 現在不是更多。 – AngryDev

+0

你怎麼試圖訪問'dosmth()'內的作用域? –

+0

只需在調試控制檯'範圍'中輸入 – AngryDev