2015-09-25 58 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>