8

여기에 내가 만든 지시어의를 사용하지 않고 문자열을 전달 :AngularJS와 : 지침 - 따옴표

HTML :

<p-test something="'bla'"></p-test> 

자바 스크립트 : 내가 좋아하는 것

.directive('pTest', function() { 
    return { 
     scope: { 
      something: '=?' 
     }, 
     templateUrl: 'components/testTemplate.html', 
     controller: 'testController' 
    }; 
}); 

가 할 수있는 'bla'를 ''이없는 문자열로 다음과 같이 전달하십시오.

<p-test something="bla"></p-test> 

link의 attributes 매개 변수를 통해 가능하다는 것을 알고 있지만,이 매개 변수를 범위에 직접 전달할 때이 경우에는 문제가됩니다 (잘못된 경우 수정하십시오).

답변

14

내가없이 문자열로 '즐'을 통과 할 수 있도록하고 싶습니다 '', 다음과 같은 방법으로 :

당신은 단지 텍스트 바인딩 (@)을 필요 바인딩 그건, 2 방향 바인딩 대신에.

.directive('pTest', function() { 
    return { 
     scope: { 
      something: '@?' //<-- Here 
     }, 
     templateUrl: 'components/testTemplate.html', 
     controller: 'testController' 
    }; 
}); 

그리고 범위 속성을 바인딩하려는 경우 텍스트 바인딩을 사용하고 보간법을 사용하십시오. 즉 예를 즐 그냥 할 다음 문자열을 들고 범위 변수의 경우 : 새

<p-test something="{{bla}}"></p-test> 

Plnkr

+0

배운 것을, 감사. –

+1

10 분을 기다렸다가 잊어 버렸습니다. 됐어. –

+0

감사합니다! in-template 요소에 값을 줄 수 있다는 것을 알아라! – Herman

관련 문제