2014-04-14 2 views
0

지시문에 격리 된 범위가있는 동작이 있고 = 속성을 이해할 수 없습니다.Angularjs 지시문 격리 범위 및 부모 범위의 영향

scope: { 
    attr1: '=', 
    attr2: '=' 
} 

어쩌면 내가 잘못하지만 난 지시어의 템플릿의 ATTR1 및 ATTR2 오브젝트의 수정이 전달 될 것으로 기대하고 있습니다 :

나는 그 안에 고립 된 범위를 지시하고 두 개의 속성을 가지고 원래의 객체. exemple에 대한

:

<directivename attr1="anObject" attr2="anotherObject" /> 

내가 지시에 ATTR1 및 ATTR2에 수정 'anObject를'과 'anotherObject'도 사용할 수 있지만이 경우 될 것 같지 않습니다 것을 기대하고있다.

하지만 내가 anObject를하고 anotherObject에 레벨을 추가하는 경우

<directivename attr1="foo.anObject" attr2="foo.anotherObject" /> 

다음 ATTR1 및 ATTR2의 지시의 템플릿 수정이 $ scope.foo.anObject와 $ scope.foo로 전송되는 통지가 .anotherObject.

누군가가 왜 이런지 설명 할 수 있고 지시어의 호출자에게 강제로 $ 사이의 중간 수준을 추가하지 않아도 지시문의 수정 사항을 강제로 전송하는 좋은 방법이 무엇인지 말해 줄 수 있습니까? 범위 및 개체.

감사합니다 :)

+0

http://plnkr.co/edit/BkS3SwHqRIpktG2smqGY?p=preview : 자세한 내용은이 게시물에 (특히 2 대답)를 참조하십시오 –

답변

0

나는 당신이 당신의 속성 값이 아닌 객체에 대한 기본을 사용하고 있는지 추측거야. 그렇다면, 당신이보고있는 것은 하위 범위에 의한 프리미티브의 덮어 쓰기입니다. 그것은 잘 작동 보인다

What is the angularjs way to databind many inputs?

관련 문제