2017-03-05 46 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> 

簡而言之,我只是將範圍附加到我導入的設置對象。

相關問題