2016-11-01 25 views
0

以下是我的一個JS需要從一個JS訪問數組到其他

var ruleField = [ 
{ 
    id: "T1", 
     datastore: "", 
     table: "SENSORS", 
     columns: ["SNS_ID","HOST_ID","SESSION_ID"], 
     tableHeaders: ["SNS ID","HOST ID","SESSION ID"] 
} 
]; 
在另一個JS我需要訪問列陣列中的下拉選項

<select name="child.KEY_NAME" ng-if="child.KEY_NAME != 'Host' && child.KEY_NAME != 'Sensor' && child.KEY_NAME != 'Operator' && child.KEY_NAME != 'Value'" class="form-control" ng-model="temp.condition[$index][child.KEY_NAME]"" ng-disabled="readonly" ng-change="selectedOption1(selectAction);displayActionParam()"> 
    <option ng-repeat="field in ruleField.columns track by $index" value= "{{ field }}" >{{ field }}</option> 
</select> 
+0

ruleField是一個數組,因此您需要通過索引ruleField [0] .columns –

+0

來訪問它。您可能需要分配'window.ruleField =',或根據您的上下文將其包含在'$ scope'中 – slezica

回答

0

你必須在var ruleField分配給一個$scope變量在角度指令中使用只需添加下面的行即可工作。

$scope.ruleField = angular.copy(ruleField); 

在NG-重複你的表情變化來ng-repeat="field in ruleField[0].columns track by $index"

var app = angular.module('app',[]); 
 
app.controller('Ctrl',function($scope,$filter){ 
 

 

 
var ruleField = [ 
 
{ 
 
    id: "T1", 
 
     datastore: "", 
 
     table: "SENSORS", 
 
     columns: ["SNS_ID","HOST_ID","SESSION_ID"], 
 
     tableHeaders: ["SNS ID","HOST ID","SESSION ID"] 
 
} 
 
]; 
 
    
 
    $scope.ruleField = angular.copy(ruleField); 
 
    }); 
 

 

 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<div ng-app="app" ng-controller="Ctrl"> 
 
<select name="child.KEY_NAME" class="form-control" ng-model="temp.condition[$index][child.KEY_NAME]" ng-disabled="readonly" ng-change="selectedOption1(selectAction);displayActionParam()"> 
 
    <option ng-repeat="field in ruleField[0].columns track by $index" value= "{{ field }}" >{{ field }}</option> 
 
    </select> 
 
                         
 
                         </div>

0

如果用<script>標籤添加您的第一個JS文件之前您的角碼(指令,控制器,等)ruleField載體應該可以從任何腳本訪問,並且@Adrian Brand說,你有從索引中訪問數組,在這種情況下,ruleField[0].columns,一旦完成這些事情,您應該能夠使用它並操縱它。