【问题标题】:The best way to set up app variables when the app is initializing应用程序初始化时设置应用程序变量的最佳方式
【发布时间】:2014-10-27 22:51:57
【问题描述】:

在开始之前,我使用的是 .Net 后端。

我想从服务器将应用程序特定的详细信息(例如 api 端点)发送到 angular 应用程序,以使用数据填充页面。这些端点将被发送到客户端 Angular 应用程序。

我有一个 api,并且 api 位置可能会不时改变,所以我希望在后端处理这个问题。如果这些改变了,我不想改变我的前端代码。

所以在我可以使用这些 api 之前,我需要知道端点。

在我查询 api 之前,引导我的应用程序以使其可用的最佳方法是什么。

【问题讨论】:

    标签: angularjs


    【解决方案1】:

    创建一个角度服务来保存端点等配置项。

    Creating an Angular Service

    在初始化服务时轮询服务器以获取端点(此调用的端点至少需要在前端,例如“/api/endpoints”,除非您以某种方式在服务器端生成全局)。

    然后您可以将服务注入您想要的任何模块;获取端点。

    【讨论】:

    • 谢谢,我认为这对我来说是最好的实现
    【解决方案2】:

    您可以在后端 API 中有一个静态端点,该端点将返回所有端点,然后在您的 Angular 应用上使用它们

    或者你可以在你的身体上有一个脚本标签:

    <script type="text/javascript">
       //add your variables 
       var backendVariable1 = @(myVar1); //razor syntax?
       var backendVariable2 = @(myVar2);
    </script>
    

    然后,在您的 Angular 应用程序中的某个地方(例如,它可能在服务中):

    angular.module('myApp').factory('BackendVariables',
      function() {
         this.variables.variable1 = window.backendVariable1;
         this.variables.variable2 = window.backendVariable2;
    
         return this.variables;
      }
    );
    

    【讨论】:

    • 感谢您的建议
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-10
    • 1970-01-01
    • 2016-01-19
    • 2010-10-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多