#angular #.net-core #single-page-application
Вопрос:
У меня есть приложение Angular12/.Net_Core, которое мне нужно инициализировать некоторой информацией с сервера только при первой загрузке приложения Angular, а не при каждом запросе. Я не хочу использовать рендеринг на стороне сервера, описанный здесь, из-за его недостатков.
Существуют ли какие-либо другие методы для достижения этой цели?
Комментарии:
1. Я не знаю варианта использования, но вы можете рассмотреть localStorage. Установите некоторые значения перед обслуживанием приложения Angular. Я использовал этот подход в некоторых случаях.
2. Может ли .net core устанавливать значения в локальном хранилище для чтения Angular?
Ответ №1:
Вы можете использовать инициализатор приложения и хранить данные. Таким образом, приложение будет ждать, пока ваши данные будут извлечены только при первом запуске, позже вы сможете получить их из локального хранилища.
Комментарии:
1. Спасибо, но заставляет Angular извлекать данные с сервера, в то время как вместо этого я хочу, чтобы сервер инициализировал angular некоторыми данными. (например, языком, на котором должна загружаться страница).
2. APP_INITIALIZER понятен и широко используется именно для таких целей — для ввода данных. То, что вы хотите сделать, — это изменять ресурсы приложений на лету на веб-сервере и практически ничего не имеет с самим angular.
3. Приношу извинения за поздний ответ. Разве APP_INITIALIZER не выполняется в браузере? если это так, это не будет полезно, потому что мне нужно, чтобы данные сервера были доступны к моменту выполнения APP_INITIALIZER без необходимости выполнять дополнительный вызов api на сервер, чтобы получить эти данные. Я надеюсь, что в этом есть смысл