2015-05-11 2 views
0

Чтобы избежать повторных вызовов в emit, я использую $ scope. $ On ('$ destroy', eventName);

или

var eventName= $rootScope.$on("load_emit_data", function(event){ 
     $scope.getdata(); 
     event.preventDefault(); 
     eventName() 
    }); 

этим я могу в состоянии избежать повторных вызовов, но моя проблема

  1. Я хочу, чтобы обновить панель после добавления записи
  2. После добавления первого рекордная панель обновлена ​​успешно, вызов пошел только один раз.
  3. , но после того, как уничтожить или именем_события(), если добавить вторую запись, испускают не называет ..

любой орган может предложить?

+0

может дать немного больше понимания? –

ответ

0

Я не эксперт по AngularJS, но я не ожидал, что что-то выжить после начала разрушения (по крайней мере до «destroy» имеет смысл).

Во всяком случае the doc говорит:

Удаляет текущую область (и все его детей) из родительской области. Удаление означает, что вызовы $ digest() больше не будут распространяться на текущую область и ее дочерние элементы. Удаление также подразумевает, что текущий объем имеет право на сбор мусора.

анс также:

Просто перед тем, как сфера разрушена, за $ уничтожить событие транслировали по этой области. Код приложения может регистрировать обработчик события $ destroy, который даст ему возможность выполнить любую необходимую очистку.

Так что я бы сказал, что вы испытываете не неисправно, это дизайн.

+0

Я исправил проблему с уничтожением, как это var eventName = $ rootScope. $ On ("load_emit_data", $ scope.getdata); $ scope. $ On ('$ destroy', eventName); – arjun

Смежные вопросы