Proszę odnieść się do tego skrzypce, aby uzyskać odpowiedzi na pytania. http://jsfiddle.net/AQR55/
1) Dlaczego zegarek dołączony do właściwości scope izolatu - który jest dwukierunkowo związany z właściwością macierzystą, nie jest wyzwalany przy zmianie właściwości rodzica.
W przypadku skrzypiec poniższy zegarek z określonymi wartościami nie jest wyzwalany po zmianie właściwości zakresu nadrzędnego, do którego jest związany.
$scope.$watch('acts', function(neww ,old){
console.log(neww)
})
2) ng-click="addaction()" addaction="addaction()"
. Czy ten kod można umieścić w bardziej elegancki sposób? Ponieważ, aby wykonać akcję w odosobnionym zakresie, wydaje się, że musimy ustawić wiązanie dwukierunkowe i dołączyć do ng-click.
3) Czy mogę zadeklarować metody w odizolowanym zakresie, jak pokazano poniżej? Jeśli mi się to podoba, otrzymuję błąd .js.
<isolate-scope-creating-cmp ng-click="isolateCmpClickHandler()"></isolate-scope-creating-cmp>
scope:{
isolateCmpClickHandler:function(){
//If i do like this, I'm getting .js error
}
}
dlaczego jest drugi punkt używane? –
Chcę ustawić obsługę zdarzeń dla przycisku. Jak wspomniano w trzecim punkcie, ponieważ nie mogę ustawić obsługi kliknięcia wewnątrz zakresu izolatu, musiałem ustawić jedną z funkcji zdefiniowanych w nadrzędnym zasięgu jako obsługę kliknięcia. Aby to zrobić, używam '&' do oceny 'addaction()' w obszarze nadrzędnym, a im używa tego atrybutu nadrzędnego, oceniając właściwość jako moduł obsługi kliknięcia za pomocą "ng-click". Jeśli usunę "addaction =" addaction() "" ng-click "nie działa. Skrzypce, które zaktualizowałeś dla pytania nr. 1 nie uruchamia się po kliknięciu przycisku. Proszę spojrzeć na firebuga. – rajkamal