在应用初始化时设置应用变量的最佳方法

时间:2014-10-27 14:40:58

标签: angularjs

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

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

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

所以在我能够击中这些api之前,我需要知道终点。

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

2 个答案:

答案 0 :(得分:1)

创建角度服务以保存端点等配置项。

Creating an Angular Service

在初始化服务时轮询服务器以获取端点(此呼叫的端点需要至少在前端#34; / api / endpoints"除非您正在生成全局服务器以某种方式)。

然后,您可以将服务注入您喜欢的任何模块;得到终点。

答案 1 :(得分:1)

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

或者,您可以在身上添加脚本标记:

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

然后,在你的角度应用程序中的某个地方(例如,它可以在服务中):

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

     return this.variables;
  }
);