Есть ли способ передать свойства .Net Core 2 appsettings.json базовым компонентам? - PullRequest
0 голосов
/ 11 июня 2019

В моем файле appsettings.json у меня есть флаг, который я могу установить, чтобы включить или отключить учебное задание под названием "Телескоп", например:

"Telescope": {
   "Enable": false
},

В моем Startup.cs я могу успешно проверить, включен он или нет:

if(Configuration.Telescope.Enable) {
   ... do something ...
}

Но я не уверен, как передать эту логику моим компонентам Backbone.

Например, у меня есть это в модели Backbone:

this.telescopeArray = new TelescopeCollection();
this.telescopeArray.url = () => `/assignments/telescopes/location/${this.id}`;

И это в HTML-шаблоне:

<a href="/assignments/telescopes/students/{{ ctx.locationId }}/">Start Your Learning Assignment</a>

Как я уже говорил выше, я могу включить или отключить "Telecope" в моем файле appsettings.json, и я вижу, что он включен или отключен в части c # моего приложения, но я не уверен, как включить или отключить строки кода в Backbone-части моего приложения.

Есть ли способ сделать это в Backbone?

Спасибо!

1 Ответ

1 голос
/ 11 июня 2019

Я могу придумать следующие способы:

  1. Бутстрапирование .
    Когда приложение впервые загружается, добавьте некоторые исходные данные в сам DOM, например, в тег <meta> или как <script> и т. Д. Позже другие части вашего приложения могут запросить это, или лучше просто запросить его при инициализации приложения Backbone и установить это для модели / государственного магазина для легкого доступа позже.
  2. REST API с хранилищем состояний или моделью магистрали
    Есть специальный REST API, который отправляет настройки вашего приложения. Вы можете получить это через базовую модель или любое другое хранилище состояний, которое вам нравится. Вы можете сделать это, когда ваше приложение инициализируется, позже другие части вашего приложения смогут получить доступ к этому хранилищу, чтобы получить значения
  3. Смесь обоих вышеперечисленных - Если это значение может измениться на стороне сервера после загрузки приложения , вы можете использовать начальную загрузку для быстрой загрузки начального состояния, а затем API-интерфейс REST для проверки текущего состояния до выполнение любых действий на основе этого параметра
...