2013-09-01 6 views
0

특성을 통해 전달되는 위치에서 범위에 액세스해야하는 지시문이 있습니다.지시문의 범위 경로에서 모델 액세스

HTML :

<div my-directive scope-location="settings.main.url"> 
    ... 
</div> 

지침 :

link: function(scope, elm, attrs) { 
     // How can I do 
     // scope['settings']['main']['url'] = angular.element(elm).text(); 
     // where "['settings']['main']['url']" comes part from attr "scope-location" 
     // with value "settings.main.url"? 

     scope[attrs.scopeLocation] = angular.element(elm).text(); 
    } 

바이올린 : http://jsfiddle.net/GEhSG/3/

답변

0

이 inher 당신의 지침 때문에

  • 을 달성하기 위해 세 가지 방법이 있습니다 부모로부터의 범위는 변수는

    var에 위치 = $ 구문 분석 (attrs.scopeLocation) 같은 $parse 서비스를 사용할 수 있습니다, 하드 코드하지 않으려면

    scope.settings.main.url

  • 사용하여 볼 수 있습니다;

    위치 (범위);

  • 당신은 고립 범위를 만들고

    범위처럼 지시어 정의의 범위 개체 변수에 전달할 수 있습니다 : { scopeLocation : '=' }

내가 만든 첫 번째 두 가지 접근법에 대해, 바이올린, http://jsfiddle.net/beyND/.

+0

많은 감사합니다. 두 번째 정확하게 필요한 것입니다. – Delremm