2015-10-14 77 views
0

我有一个php对象,我通过函数传递给ng。该对象有几个特性,例如:paragraphe1,paragraphe2,paragraphe3高达8角度ng重复和动态属性

我尝试与像一个NG-重复循环以将其显示:

<div ng-repeat="i in [1,2,3,4,5,6,7,8]"> 
Paragraphe {{i}} >> {{paragraphe+i}} 
</div> 

它显示:

  • Paragraphe 1 >> 1个
  • Paragraphe 2 >> 2
  • ...
  • Paragraphe 8 >> 8

,而不是paragraphe1的内容,... 8个

感谢您的帮助。 FX

+0

“这个对象有几个属性...”:是否在范围暴露?对象的名称是什么? –

+0

告诉我们“paragraphe”的辩护。它应该在相关范围中定义。 –

回答

1

假设你的款的定义是:

$scope.paragraph = { 
    paragraph1: 'lorem ipsum 1', 
    paragraph2: 'lorem ipsum 2', 
    paragraph3: 'lorem ipsum 3', 
    // ... 
} 

模板应该是这样的:

<div ng-repeat="i in [1,2,3,4,5,6,7,8]"> 
    Paragraphe {{i}} >> {{paragraph['paragraph' + i]}} 
</div> 

js fiddle

+0

虽然这是可能的,但我仍然强烈建议将'paragrapheX'属性作为数组而不是generated-name-properties – LionC

+0

谢谢!这就是我一直在寻找的!对不完整的解释/定义...你认为是正确的 –

1

而是通过硬编码可以使值使用ng-repeat中的键值对,

观点:

<div ng-app="myApp" ng-controller="demoCtrl"> 
    <div ng-repeat="(key, value) in paragraph"> 
    {{key}} >> {{value}} 
    </div> 
</div> 

JS:

// module 
var app = angular.module('myApp', []); 

// filter 
app.filter('dayFilter', function() { 
    return function(input) { 
    var filterFunction = function (item) { 
     return item.days >= 1 && item.days <= 7; 
    }; 
    return input.filter(filterFunction); 
    }; 
}); 

//controller 
app.controller('demoCtrl', function ($scope) { 
    $scope.paragraph = { 
    paragraph1: 'lorem ipsum 1', 
    paragraph2: 'lorem ipsum 2', 
    paragraph3: 'lorem ipsum 3' 
    } 
});