是否有办法将.Net Core 2 appsettings.json属性向下传递到 Backbone.js 组件?

a9wyjsp7  于 2022-11-10  发布在  .NET
关注(0)|答案(1)|浏览(154)

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

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

在我的Startup.cs中,我可以成功地检查它是否已启用:

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

但我不知道如何将这种逻辑传递到我的 Backbone.js 组件。
例如,我在一个 Backbone.js 模型中有这样一个:

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文件中启用或禁用“Telecope”,我可以看到它在我的应用程序的c#部分中是启用还是禁用的,但我不确定如何启用或禁用我的应用程序的Backbone部分中的代码行。
在Backbone中是否有办法做到这一点?
谢谢你!

kgsdhlau

kgsdhlau1#

我可以想到以下方法:
1.自举。
当你的应用第一次加载时,在DOM本身中添加一些初始数据,比如在<meta>标签中或作为<script>等。稍后,你的应用的其他部分可以查询这些数据,或者最好在Backbone应用初始化时查询它,并将其设置在模型/状态存储中,以便稍后访问。
1.具有状态存储或 Backbone.js 模型的REST API
有一个专用的REST API来发送应用程序设置。您可以通过 Backbone.js 模型或任何其他您喜欢的状态存储来检索它。您可以在应用程序初始化时执行此操作,稍后应用程序的其他部分可以访问此存储来获取值
1.以上两种情况的混合-如果在加载应用程序后此值可以在服务器端更改,则可以使用引导快速加载初始状态,然后使用REST API检查当前状态,然后再根据此设置执行任何操作

相关问题