2014-01-28 4 views
3

Я хочу вызвать функцию destroy, когда удаленный угловой контроллер удален.

Это решение angular.js.

$scope.$on("$destroy", function() { 
     alert("destroy"); 
}); 

Моя попытка в Дарта

class TestController... 

TestController(Scope $scope){ 
    $scope.$on("$destroy",(){ 
      print("destroy"); 
    }); 
} 

и это код ошибки

Error! 
NoSuchMethodError : method not found: 'destroy' 

$destroy or destroy буквальным не работает. Есть идеи?

+1

Попробуйте использовать:. '$ Объем $ на (г '$ уничтожить',() {' (с помощью 'r') – Florent

+0

Да, что работает, а Большое спасибо в глубоком – Frank

+0

Я.. ответьте, чтобы дать лучшую видимость ответа. – Florent

ответ

3

Я думаю, что это лучший способ

class TestConroller implements NgDetachAware { 
    void detach() { 
    alert("destroy"); 
    } 
} 
+0

Да, это работает. Спасибо за быстрый ответ. – Frank

+0

@Frank, если ответ сработал для вас, вы можете опустить комментарий и вместо этого принять ответ - отметьте галочку ниже вверх/вниз счетчик - спасибо. –

1

Первый параметр $on должен быть образцом.
Вы должны объявить его, используя префикс r.

$scope.$on(r'$destroy', function() { 
    alert("destroy"); 
}); 
Смежные вопросы