Eşitlik sonrası soru işareti özel bir anlamı var mı? yani:'=?' Ifadesinin anlamı nedir? angularJS direktif izole kapsama beyanında?
scope: {foo: '=?'}
yapar yukarıdaki ortalama foo 'çözülememesi 'eğer hata yükseltmeyin'?
Eşitlik sonrası soru işareti özel bir anlamı var mı? yani:'=?' Ifadesinin anlamı nedir? angularJS direktif izole kapsama beyanında?
scope: {foo: '=?'}
yapar yukarıdaki ortalama foo 'çözülememesi 'eğer hata yükseltmeyin'?
'ayırımı' kapsamı üst etki elde yerel kapsamındaki özellikler kümesini tanımlayan bir amacı, karma alır. Bu yerel özellikler, şablonlar için değerlerin taklit edilmesi için kullanışlıdır. Halk tanımı kaynağına yerel kapsamındaki özelliği bir karma:
=
veya=attr
- yerel kapsamı özelliği veattr
özelliğinin değeri ile tanımlanan adı üst kapsamı özelliği arasında çift yönlü bağlama ayarlayın.attr
adı belirtilmemişse, öznitelik adının yerel adla aynı olduğu varsayılır.<widget my-attr="parentModel">
vescope: { localModel:'=myAttr' }
pencere tanımının verildiği şekilde,localModel
widget kapsam özelliği ana kapsamdaparentModel
değerini yansıtacaktır.parentModel
'daki tüm değişikliklerlocalModel
'a yansıtılacaktır velocalModel
'daki tüm değişikliklerparentModel
'da yansıtılacaktır. Üst kapsam özelliği yoksa, NON_ASSIGNABLE_MODEL_EXPRESSION istisnası atar. Özelliği isteğe bağlı olarak işaretlemek için=?
veya=?attr
kullanarak bu davranışı 'dan kaçınabilirsiniz.
her sindirecek üzerine O beklenen hatayı tetiklemesi gereken kapsam özelliğini etkiler:
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]);
}
}
mantıklı ama neden yapar değil [Bu yönerge] (http://plnkr.co/edit/ FxyDVi5JeWyC6B8TX1fk? P = önizleme) istisnayı atar. ana kapsam özelliği mevcut değil ve kapsam ataması bir '=?' kullanma DEĞİLDİR – Nikita
Sadece burada değer ayarlandığında hatayı atmak gibi görünüyor: http://plnkr.co/edit/OSpaC6sPE0hY9yAeFghr?p=preview –
bu resmi angularjs belgelerinde her yerde belgelenmiştir? – cebor