각진 '='의 의미는 무엇입니까?JS 지시 격리 범위 선언?
뒤에 있는 물음표는 특별한 의미가 있나요?즉,
scope: {foo: '=?'}
위의 내용은 'foo'를 해결할 수 없는 경우 오류를 발생시키지 않음'을 의미합니까?
'isolate' 스코프는 상위 스코프에서 파생된 로컬 스코프 속성 집합을 정의하는 개체 해시를 사용합니다.이러한 로컬 속성은 템플릿의 값을 에일리어스할 때 유용합니다.로컬 정의는 소스에 대한 로컬 스코프 속성의 해시입니다.
=
또는=attr
- 로컬 스코프 속성과 이름의 부모 스코프 속성 간에 양방향 바인딩을 설정합니다.attr
기여하다.없는 경우attr
name 이 지정되면 Atribute name 이 로컬 이름과 동일한 것으로 간주됩니다.정해진<widget my-attr="parentModel">
및 위젯 정의scope: { localModel:'=myAttr' }
, 다음으로 위젯 범위 속성localModel
가치를 반영하다parentModel
부모 스코프에서.에 대한 변경 사항parentModel
반영되다localModel
및 변경 사항localModel
에 반영되다parentModel
부모 스코프 속성이 존재하지 않으면 NON_ASSIGNABLE_MODEL_EXPRESSION 예외가 발생합니다. 또는 를 사용하여 이 동작을 방지하고 속성을 옵션으로 플래그 지정할 수 있습니다.
스코프 속성에 영향을 미치는 모든 다이제스트에서 예상되는 오류를 트리거해야 합니다.
parentSet = parentGet.assign || function() {
// reset the change, or we will throw this exception on every $digest
lastValue = scope[scopeName] = parentGet(parentScope);
throw Error(NON_ASSIGNABLE_MODEL_EXPRESSION + attrs[attrName] +
' (directive: ' + newScopeDirective.name + ')');
};
//...
if (parentValue !== scope[scopeName]) {
// we are out of sync and need to copy
if (parentValue !== lastValue) {
// parent changed and it has precedence
lastValue = scope[scopeName] = parentValue;
} else {
// if the parent can be assigned then do so
parentSet(parentScope, lastValue = scope[scopeName]);
}
}
언급URL : https://stackoverflow.com/questions/20447786/whats-the-meaning-of-in-angularjs-directive-isolate-scope-declaration
'source' 카테고리의 다른 글
문자열이 유효한 JSON인지 확인하는 방법 (0) | 2023.03.20 |
---|---|
파워 쿼리를 사용하여 뛰어난 성능을 발휘하는 Json (0) | 2023.03.20 |
Typescript 인터페이스 기본값 (0) | 2023.03.20 |
예쁜 영구 링크 목록 및 게시 제목 내보내기 (0) | 2023.03.20 |
ng-repeat 내에서 ng-click에 의해 호출되는 할당식 동작 (0) | 2023.03.20 |