我遇到了将配置传递给角度应用程序的问题。我的问题是
如何将存储在数据库中的网址传递给ng-app?
到目前为止,我有硬编码的services.js
app.constant('config', {ws_url: 'ws://domain/ws'});
app.factory('wampy', function ($rootScope, config) {
var url = config.ws_url;
var ws = new Wampy(url, { autoReconnect: true });
return {
something: function () {
console.log(url); // usage of url
}
}
}
然后它被包含在主html代码(index.php)
中<head>
<script type="text/javascript" src="http://dev.local/js/ng/app.js"></script>
<script type="text/javascript" src="http://dev.local/js/ng/services.js"></script>
</head>
但它可以修改/移动到其他地方。
有什么想法吗?
答案 0 :(得分:2)
您可以将php呈现的javascript片段转换为脚本标记,如此
$config = array('ws_url' => 'ws://domain/ws');
$jsonConfig = json_encode($config);
$snippet = <<<EOS
<script type="text/javascript">
angular.module('appName').constant('config', $jsonConfig);
</script>
EOS;
然后在页面的某处输出此$snippet
。