2015-10-14 106 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' 
    } 
});