有什么方法可以从驻留在 Web 服务器外部的 angularjs 读取属性文件吗?
就像在 java 中一样,属性文件部署在项目之外,但我们可以在我们的项目中读取这些文件作为 filter.properties,这样任何解决方案都存在于 angularJS 中。
我这样试过,但没有定义。
过滤器属性:
key1=value1
key2=value2
sampleController.js
var app = angular.module('sampleApp', []);
app.controller('sampleController', function($scope, $http) {
$http.get('filter.properties').then(function (response) {
console.log('a is ', JSON.stringify(response.data.key1));
});
});
最佳答案
在 angularjs 中有几种访问属性文件的方法。
就像每个文件一样,属性文件是一个扩展名为 .properties 的文件。
由于 java 属性文件是在一行中由 =
分隔的键值对。
因此,我们可以通过遍历属性文件中的每一行并使用 =
符号将其拆分并将其存储为有助于快速访问它的 javascript 对象,从而将属性文件转换为 javascript 对象。
这是它的 javascript 实现
function extractProperties(propertiesFileContents){
var keyValuePairs =propertiesFileContents.split("\n");
properties ={}
for (i = 0; i < keyValuePairs.length; i++) {
var keyValueArr=keyValuePairs[i].trim().split("=");
var key=keyValueArr[0];
var value=keyValueArr[1];
properties[key]=value
}
return properties;
}
根据您的代码,我添加了一个 plunker希望这对你有帮助
关于javascript - 如何在 AngularJS 中读取 Java 属性文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42945760/