angularjs中自定义的指令中scope的值为{}创造了一个隔离作用域,但依然能访问到父级作用域中的属性,怎么回事?(隔离作用域应该不能访问父级作用域的属性啊,在没有进行绑定策略之前)
巴扎黑2017-05-15 17:09:33
우선, 예제에서는 범위 속성에 값을 할당하지 않았습니다. 범위 특성에는 true, false, {}의 세 가지 값이 있습니다. false가 기본값입니다.
기본값, 거짓. 이때 자식 범위와 부모 범위는 하나이며,scope.$$id의 값은 동일합니다.
가 true이면 새 범위가 생성되고,scope.$$id 값이 달라집니다. 그러나 이 범위는 상위 범위에서 상속됩니다. 기본 js 범위 체인의 특성과 동일합니다. 하위 범위는 상위 범위의 속성 및 메서드에 액세스할 수 있지만 상위 범위는 하위 범위의 속성 및 메서드에 액세스할 수 없습니다.
가 {}이면 실제 격리입니다. 현재 사용자 정의 지시문의 범위는 상위 범위와 관련이 없습니다. 하지만 여전히 상위 범위의 속성 메서드에 액세스하고 싶다면 어떻게 해야 할까요? {}에서 해당 속성을 구성하기만 하면 됩니다. 구체적인 구성 방법은 Google Baidu를 참조하세요.