2017-03-05 88 views
1

我对Angular JS有点新,并希望弄清楚如何结合我的应用程序使用外部设置文件。目前,我的代码运行方式允许我导入settings.js文件。如何使用Angular JS从设置文件中读取多个属性和值?

var settings = { 

    options : { 
     foo : "video", 
     bar : .8 
    } 

    colors : { 
     top : "#FF0000", 
     bottom : "FF00FF" 
    } 
} 

我的问题是,我的设置文件将有很多不同的属性和值。现在,我的代码让我逐行写出我想要使用的设置。在这个例子中,这将是foobar。我怎样才能避免这种情况?

而不是有多行代码,我可以用什么逻辑来让我读取我的对象的所有属性和值?

你可以在我想使用settings.colors.accentColorsettings.colors.frameColor的例子中看到这个。我的settings.js文件可能包含数百个不同的选项,我肯定会有其他类别的选项(不仅仅是选项和颜色)。

<div ng-app="settingsApp" ng-controller="settingsCtrl"> 
    <script src="Settings/settings.js"></script> 

    <h1>Use video: {{ foo }}</h1> 
    <h2>Colors</h2> 
    <p>Background : {{ bar }}</p> 
    <p>Accent : {{ settings.colors.accentColor }}</p> 
    <p>Colors : {{ settings.colors.frameColor }}</p> 
</div> 
<script type="text/javascript" src="angular.min.js"></script> 
<script> 

    var app = angular.module('settingsApp', []); 
    app.controller('settingsCtrl', function($scope, $http) { 
     $scope.foo = settings.options.foo; 
     $scope.bar = settings.colors.backgroundOverlay; 
    }); 
</script> 

回答

0

而不是以这种方式做,试着直接加载文件为json数据。以下是我学习如何使用angularjs的一个很好的链接。当然,还有很多其他好的,但这是个人意见和事情的问题。这个人也有教程视频解释下面的链接中的每个例子。

的例子#20是一个可以帮助你与你的任务

https://curran.github.io/screencasts/introToAngular/exampleViewer/#/

0

答案是很多更简单的比我想象的 - 多亏了我一个朋友想出这个解决方案帮助。

<script> 
    var app = angular.module('settingsApp', []); 
     app.controller('settingsCtrl', function($scope, $http) { 
      $scope.settings = settings; 
     }); 
</script> 

简而言之,我只是将范围附加到我导入的设置对象。

相关问题