Вам нужно использовать ngfor для итерации списка элементов на основе количества кликов,
Вам нужно использовать массив для переноса значения модели ng в компонент из html. [ 112]
Проверьте этот рабочий код. В зависимости от ваших требований могут потребоваться некоторые изменения
Возьмите самый простой случай сначала. Предположим, что у Вас есть 1 пользователь в Вашей системе, и Вы хотите их сессию к тайм-ауту, и Вы хотите точную отчетность их состояния. Пользователь не был к странице за 12 минут, и Ваш тайм-аут сессии установлен на 10 минут. Одна из двух вещей произойдет. Или они посетят снова в скором времени, или они не будут. Если они не посещают снова, как система будет когда-либо выполнять код для обновления их состояния тайм-аута? Единственный путь* состоит в том, чтобы иметь отдельного новичка процесса функция обновления статуса для всех пользователей, которые в настоящее время находятся в состоянии "на сессии".
Каждый раз пользователь поражает Ваш сайт, обновите переменную в базе данных, которая связывает их сессию с прошлым разом, к которому получают доступ. Затем создайте задание крона, которое работает каждую минуту. Это вызывает простую функцию для проверки состояний сессии. Любые сессии, более старые, чем период тайм-аута, установлены на "приведенное к таймауту" состояние. (Необходимо также очистить таблицу после того, как приведенные к таймауту сессии находились некоторое время). Если Вы когда-нибудь хотите отчет о числе зарегистрированных людей, запрос для всех записей, которые имеют на прошлый раз, к которому получают доступ, позже, чем интервал тайм-аута запускается.
"*" существуют другие пути, но в целях простого веб-приложения, это не действительно необходимо. Если Вы имеете что-то более сложное, чем простое веб-приложение, обновляете Ваш вопрос отразить определенную потребность.
Каждый раз, когда пользователь поражает страницу, отметьте то время в базе данных, назовите этот столбец LastAccessed. Когда пользователь нажимает на часть Выхода из системы Вашего сайта, можно установить это значение в NULL. При записи запроса для нахождения списка пользователей, которые в настоящее время зарегистрированы сделайте следующее:
SELECT * FROM Users WHERE LoggedIn=1 AND LastAccess > DATEADD(Minute,-20.GETDATE())
Который возвратил бы пользователей, у которых все еще есть активная сессия. Простите SQL, который, вероятно, не работает с MySQL/PHP, но это должно дать Вам общее представление.
Почему Вы хотите сделать это? Общий подход должен проверить каждый запрос, отправленный пользователем, если тайм-аут истек. Конечно, это означает, что состояние в Вашем дб не актуально, потому что пользователя все еще показывают, как вошел в систему, даже при том, что тайм-аут был достигнут.
Но практически который обычно не имеет значения.
Ужасный, но возможно осуществимое предложение:
Добавьте асинхронную активную запрашивающую сторону к страницам, которая обновляет их последнюю активную метку времени. У Вас может затем быть задание крона, которое отмечает пользователей как в режиме офлайн, если у них есть последняя активная метка времени больше чем 20 старых секунд. Установка того задания крона для выполнения каждую минуту добивалась бы цели. Я не уверен, что существует способ инициировать что-то для случая, когда времена сессии пользователя, или закрывает их браузер.
Моя первая мысль - то, что Вы могли создать пользовательский обработчик сессий, который интерпретирует быть зарегистрированным как наличие активной сессии.
Для некоторых примеров при создании пользовательского обработчика сессий видят http://www.daniweb.com/code/snippet43.html и читают документ PHP http://ca.php.net/manual/en/function.session-set-save-handler.php