包括外部js文件到角度

时间:2014-09-19 16:40:41

标签: angularjs

我有一个java脚本文件,其中包含一个配置对象,用于解码许多业务术语,以便在我的应用程序中使用。

如何才能将其提供给我的角度应用?我目前将它包含在我的html文件中,包含在所有应用程序文件之上。

这是我的config.js:

var config = {
    "metadata":[
              "8235205241531AF399B113140005492E":{
                    "name":"verison_number"
               }
     ]
 }

这里包括:

        <script src="libs/bootstrap/dist/js/bootstrap.min.js"></script>
        <script src="libs/angular/angular.min.js"></script>
        <script src="libs/angular-resources/angular-resource.min.js"></script>
        <script src="libs/angular-route/angular-route.min.js"></script>
        <script src="js/config.js"></script>
        <script src="js/viewer.js"></script>
        <script src="js/controller.js"></script>
        <script src="js/services.js"></script>
        <script src="js/routes.js"></script>
        <script src="js/app.js"></script>

现在这里是我的控制器只是尝试在其上执行console.log:

var MainCtrl = angular.module('MainCtrl', []);


MainCtrl.controller('loader',['$scope','$rootScope','$http','startApp', function($scope,$rootScope,$http,startApp) {
    console.log(config);
    console.log('loading course...');
    console.log(startApp);
}]);

2 个答案:

答案 0 :(得分:2)

您的JSON不正确。

以下是声明配置的正确方法:

var config = {
"metadata":[
    {"8235205241531AF399B113140005492E":"verison_number"}
]}

Working Plunkr

答案 1 :(得分:0)

也许使用价值配方。例如:

var app = angular.module('MainCtrl');

// later

app.value('myconfigs',config); // set your "object"

// somewhere in your controller code

MainCtrl.controller('loader',['$scope','$rootScope','$http','startApp','myconfigs', function($scope,$rootScope,$http,startApp, myconfig) {
    console.log(myconfig.metadata);
    console.log('loading course...');
    console.log(startApp);
}]);