有没有办法将 .Net Core 2 appsettings.json 属性传递给 backbone 组件?

Is there a way to pass .Net Core 2 appsettings.json properties down to backbone components?

在我的 appsettings.json 文件中,我有一个标志,我可以设置它来启用或禁用名为 "Telescope" 的学习作业,如下所示:

"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>

正如我上面所说,我可以在我的 appsettings.json 文件中启用或禁用 [​​=37=],我可以看到它在我的应用程序的 c# 部分中被启用或禁用, 但我不确定如何启用或禁用我应用程序 Backbone 部分中的代码行。

Backbone有没有办法做到这一点?

谢谢!

我可以想到以下方法:

  1. Bootstrapping.
    当您的应用程序首次加载时,在 DOM 本身中添加一些初始数据,例如在 <meta> 标记或 <script> 等中。稍后您应用程序的其他部分可以查询此数据,或者更好的是在 Backbone 应用程序初始化时对其进行查询,并将其设置在 model/state 商店中以便以后轻松访问。
  2. REST API 状态存储或 backbone 模型
    有一个专用的 REST API 来发送您的应用程序设置。您可以通过 backbone 模型或您喜欢的任何其他状态存储来检索它。 您可以在应用程序初始化时执行此操作,稍后应用程序的其他部分可以访问此存储以获取值
  3. 以上两者的混合 - 如果加载应用程序后该值可以在服务器端更改,您可以使用引导程序快速加载初始状态,然后使用 REST API 在根据此设置执行任何操作之前检查当前状态