반응형
'='의 의미는 무엇입니까? angularJS 지시문에서 범위 선언을 분리합니까?
등호 뒤의 물음표에는 특별한 의미가 있습니까? 즉 :
scope: {foo: '=?'}
위의 'foo'를 해결할 수 없으면 '오류를 일으키지 않습니다'를 의미합니까?
'isolate'범위는 부모 범위에서 파생 된 로컬 범위 속성 집합을 정의하는 개체 해시를 사용합니다. 이러한 로컬 속성은 템플릿의 별칭 값을 지정하는 데 유용합니다. 지역 정의는 소스에 대한 지역 범위 속성의 해시입니다.
=
또는=attr
-로컬 범위 속성과 속성 값을 통해 정의 된 name의 부모 범위 속성간에 양방향 바인딩을 설정attr
합니다.attr
이름을 지정 하지 않으면 속성 이름이 로컬 이름과 동일한 것으로 간주됩니다. 의<widget my-attr="parentModel">
위젯 정의와 위젯scope: { localModel:'=myAttr' }
범위 속성localModel
은parentModel
상위 범위 의 값을 반영합니다 . 변경 사항parentModel
은에 반영되고localModel
변경 사항localModel
은에 반영됩니다parentModel
. 부모 범위 속성이 존재하지 않으면 NON_ASSIGNABLE_MODEL_EXPRESSION 예외가 발생합니다. 속성을 옵션으로 표시하기 위해=?
또는=?attr
을 사용하여이 동작을 피할 수 있습니다 .
범위 속성에 영향을주는 모든 다이제스트에서 예상되는 오류를 트리거해야합니다.
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]);
}
}
반응형
'Programing' 카테고리의 다른 글
IntelliJ Idea의 프로젝트 트리에서 컴파일 오류를 즉시 보는 방법은 무엇입니까? (0) | 2020.07.09 |
---|---|
SQL Server에서 한 번에 여러 열을 변경하는 방법 (0) | 2020.07.09 |
변수에 코드 할당 (0) | 2020.07.09 |
T-SQL에서 동등한 함수 분할? (0) | 2020.07.09 |
jQuery“each ()”함수는 동기식입니까? (0) | 2020.07.09 |