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