2014-07-17 16 views
2

我想创建一个动态页面,根据某些方面显示一个列表或另一个列表,两个数组都有不同的变量名称。我试图用一些东西来把动态的重复表达,但没有成功。Angularjs - Dynamic ng-repeat表达式

任何人都有一些建议?我做了一个小提琴来解释我需要什么。

<div ng-repeat="item in itemsToShow" > 
    <!--THIS IS THE EXPRESSION THAT I WANT DYNAMIC--> 
{{item.name}}, {{item.title}} 

[小提琴] http://jsfiddle.net/eTTZj/867/

+0

你到底想达到什么目的? – Raghavendra

+0

我很努力去理解你想要做什么。小提琴有什么问题? – AlexFoxGill

+0

“动态”是指什么? –

回答

0

你可以使用运营商:

<div ng-repeat="item in itemsToShow" > 
    {{item.name || item.firstname}}, {{item.title || item.titleBig}} 
    </div> 

这将选择清单中的现有属性。

如果是unsunstainable很多,很多名单你也可以这样做:

<div ng-repeat="item in itemsToShow"></div> 
    <div ng-repeat="(key, value) in item"> 
     {{key}} : {{value}} 
    </div> 
</div> 
+0

让我以更好的方式解释。我有和30个输入字段的应用程序。在每个字段中,我想要一个模态,并为该字段提供每个可能值的列表。但是这些信息来自不同的阵列,每个字段都有不同的键(电子邮件,姓名,电话),我正在尝试为每个输入字段创建一个通用模态 – John

0

我已经更新您的JSFiddle。当你想成为'动态'时,只需要编写控制器内部的逻辑,并设置不同的数组,这样你的视图就不会改变。

像这样:

.... 
var show_items_2 = true; 
/*Whatever you want to do here*/ 
if(show_items_2) { 
    $scope.itemsToShow = items2; 
} else { 
    $scope.itemsToShow = items; 
} 

如果你想有不同的keys您的数组(“名”和“nameBig”)里面,你必须以不同的方式访问项目(通过(键,值))。看到这个SO question here

<div ng-repeat="item in itemsToShow"></div> 
<div ng-repeat="(key, value) in item"> 
    {{key}} : {{value}} 
</div>