2015-09-25 28 views
1

在我的控制器我有這樣的代碼:如何把dynamicaly範圍鑑於

$scope.lists = [{ 
    listName: 'list1' 
}, { 
    listName: 'list2' 
}]; 

angular.forEach($scope.lists, function(item) { 
    var listName = item.listName; 
    $scope[listName] = [{ 
    Name: 'Stefan' 
    }, { 
    Name: 'Stefan' 
    }, { 
    Name: 'Stefan' 
    }, { 
    Name: 'Stefan' 
    }]; 
}); 

從列表中的輸入與web服務卡梅斯,所以每次我重新加載值(列表1和列表2)可以是不同的應用程序。我還可以在列表中列出更多2個項目。 在我看來,如何在ng-repat部分顯示$scope[listName]的值?

感謝您的幫助。 Stefan。

+0

是要顯示'視圖list1'或'list2'? – Vineet

+0

我改變了代碼。現在我想在視圖中顯示「Stefan」 – Stefan

回答

0

您可以嘗試這樣的事:

(function() { 
 
    angular.module("myApp", []).controller("controller", ["$scope", 
 
    function($scope) { 
 
     $scope.lists = [{ 
 
     listName: "list1" 
 
     }, { 
 
     listName: "list2" 
 
     }]; 
 

 
     angular.forEach($scope.lists, function(item) { 
 
     var listName = item.listName; 
 
     $scope[listName] = [{ 
 
      Name: "Stefan" 
 
     }, { 
 
      Name: "Stefan" 
 
     }, { 
 
      Name: "Stefan" 
 
     }, { 
 
      Name: "Stefan" 
 
     }]; 
 
     $scope.results = $scope[listName]; 
 
     }); 
 
    } 
 
    ]); 
 
})();
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div data-ng-app="myApp"> 
 
    <div data-ng-controller="controller"> 
 
    <ul> 
 
     <li data-ng-repeat="item in results">{{item.Name}}</li> 
 
    </ul> 
 
    </div> 
 
</div>