动态变量为angularjs ng-repeat

JoD*_*iii 3 javascript angularjs angularjs-scope angularjs-ng-repeat

进入第一个循环,我恢复了一个id,我尝试定义其他循环,如下所示:

    <ul ng-show="feed{{raterie.idFB}} === true" ng-init="var myFeed = myFeedFunction(raterie.idFB);">
        <li ng-repeat="feed in getFeeder(raterie.idFB) | limitTo:1">adoptions are : {{feed.title | cleanit}}</li>
        <li ng-repeat="feed in feeder{{raterie.idFB}} | limitTo:1">adoptions are : {{feed.title | cleanit}}</li>
        <li ng-repeat="feed in feeder{raterie.idFB} | limitTo:1">adoptions are : {{feed.title | cleanit}}</li>
        <li ng-repeat="feed in feeder[raterie.idFB] | limitTo:1">adoptions are : {{feed.title | cleanit}}</li>
        <li ng-repeat="feed in feeder['raterie.idFB'] | limitTo:1">adoptions are : {{feed.title | cleanit}}</li>
        <li ng-repeat="feed in myFeed | limitTo:1">adoptions are : {{feed.title | cleanit}}</li>
        <li ng-repeat="feed in feeder846097918756247 | limitTo:1">adoptions is : {{feed.title | cleanit}}</li>
    <ul>
Run Code Online (Sandbox Code Playgroud)

我不明白如何使'feeder846097918756247'自动构建.最后的li是我想要的,我只用一个例子手动把它放到第一个循环中

我在$ scope中尝试了两种解决方案:

    // define the value for ng-repeat (1st solution)
    $scope.getFeeder = function(id) {
        var idr = 'feeder' + id;
        return idr;
    }
    // define the value for ng-repeat (2nd solution)
    function myFeedFunction(pId) {
        return eval('feeder' + pId) ;
    }
Run Code Online (Sandbox Code Playgroud)

它不起作用.

我的在线应用程序在这里:http://www.monde-du-rat.fr/pmr/

PSL*_*PSL 8

为了得到

<li ng-repeat="feed in getFeeder(raterie.idFB) | limitTo:1">adoptions are : {{feed.title | cleanit}</li>
Run Code Online (Sandbox Code Playgroud)

要工作,您需要从getFeeder函数中的scope属性返回数组.

$scope.getFeeder = function(id) {
    return $scope['feeder' + id];
}
Run Code Online (Sandbox Code Playgroud)

或者更好,而不是feeder846097918756247直接作为财产的范围.将相应数据放在范围内的对象中.

 $scope.feeder = {};
 $scope.feeder['846097918756247'] = someArray;
//etc...
Run Code Online (Sandbox Code Playgroud)

并做到: -

<li ng-repeat="feed in feeder[raterie.idFB] | limitTo:1">adoptions are : {{feed.title | cleanit}}</li>
Run Code Online (Sandbox Code Playgroud)