Angular.js>如何管理配置

I got stuck with passing a configuration to our angular application. My problem is

  1. We have configuration is stored in database, so far it's URL of web service to communicate with
  2. Page is rendered by PHP

How can I pass URL stored in database to ng-app?

So far I have hard-coded 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
    }
  }

}

Then it is included into main html code (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>

But it can be amended / moved to somewhere else.

Any thoughts?

1个回答

You could have a snippet of javascript rendered by php into a script tag like so

$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;

and then output this $snippet somewhere in your page.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐