2015-10-14 2 views
0

У меня есть php-объект, который я передаю в функцию через функцию. Этот объект имеет несколько свойств, таких как: paragraphe1, paragraphe2, paragraphe3 до 8.Угловые 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

покажите нам, как сдерживать «параграфа». он должен быть определен в области relvant. –

ответ

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 как массив вместо сгенерированных именных свойств. – LionC

+0

Спасибо! Это то, что я искал! Извините за неполное объяснение/определение ... вы предполагали право –

1

Вместо передачи значений жестко закодированные вы можете сделать использование пары ключей, значений в ng-повторе

вид:

<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' 
    } 
}); 
Смежные вопросы