У меня есть код, как это в моем приложении:Наблюдатели: следует ли использовать значения, переданные функции, или я могу использовать this.value безопасно вместо этого?
observers: [
'_dataGenericObserver(userData.generic)',
],
// If this.userData.generic.id is set, then the register tab is
// NOT visible. In this case, the selected tab mustn't be "register"...
_dataGenericObserver: function(){
if (this.userData.generic.id){
this.selected = 'login';
} else {
if (this.defaultRegister) {
this.selected = 'register';
} else {
this.selected = 'login';
}
}
},
Является ли это безопасно? Или я всегда сделать это вместо того, чтобы:
observers: [
'_dataGenericObserver(userData.generic)',
],
// If this.userData.generic.id is set, then the register tab is
// NOT visible. In this case, the selected tab mustn't be "register"...
_dataGenericObserver: function(generic){
if (generic.id){
this.selected = 'login';
} else {
if (this.defaultRegister) {
this.selected = 'register';
} else {
this.selected = 'login';
}
}
},
...? В некоторых случаях я заметил в других частях приложения, что если у меня есть наблюдатель на _someFunc(value.subvalue)
, а затем есть _someFunc: function(subValue)
, то в функции subValue
установлена, тогда как this.value.subValue
нет. Однако я не могу его воспроизвести - извините.
Вопросы:
- ли это всегда рекомендуется использовать значения, передаваемые функции, а не
this.*
? - КОГДА может случиться так, что
subValue
задан как параметр функции, но НЕ вthis.value.subValue
?
Фантастика. Благодарю. – Merc