Привет, я строил функциональность в Angular, но у меня есть некоторые проблемы. У меня есть ng-model и пример-директива, вот так.
<input ng-model="model" type="text" class="form-control">
<div example-dir test="model"></div>
Я хочу передать нашу модель от входа до директивы и каждый новый вал от этой модели запустить $ таймаут, но первый новый вал должен начать $ таймаут, но каждый следующий новый val должен перезапустить наш $ timeout.
Например. Когда мы передаем данные для ввода начального старта $ timeout (1000 мс для eaxmple), но каждый следующий данные должны перезапустить наш $ timeout до 0 и начать старт снова.
Существует моя директива код:
function link(scope, element, attr) {
scope.$watch('test',function(nval){
var timeout;
function incrementTimer(){
//some stuff
}
if(nval){
timeout = $timeout(incrementTimer, 1000);
$timeout.cancel(timeout);
}
});
}
Я не имею понятия, где и когда проходят $ таймаута и отменить работать corectly. Спасибо за помощь.
Спасибо за удивительный простой ответ! –
Можете ли вы рассказать мне, как я могу проверить, есть ли область. $ Watch value is empty? –
@JanKowalski У вас есть 'newVal' и' oldVal'. Если вы хотите, чтобы обновленная проверка значения для 'if (! NewVal) {// значение пуста}' –