存储ng-repeat指令的第一个元素

时间:2014-01-17 14:21:20

标签: javascript jquery angularjs

我是Angular的新手..

我有ng-repeat指令,我想将answer属性中的一个存储在“全局”变量中。

我想要像这样

var buffer = answer.discussionId;
<div ng-repeat="answer in answers">
    if(buffer != answer.discussion){
        //do something
        buffer = answer.discussionId;
    }    
</div>

谢谢

3 个答案:

答案 0 :(得分:2)

我相信会有一个黑客来做这件事。但你永远不应该有角度地做这件事。在您的控制器中执行此操作!

答案 1 :(得分:1)

使用angular,不鼓励在视图中执行条件逻辑。您应该通过控制器/模型或通过使用指令来进行任何数据存储。

http://docs.angularjs.org/guide/directive

答案 2 :(得分:1)

如果我正确地理解了你的问题,这将是“有角度的方式”:

您需要创建watch以查找规格值发生变化的时间。

app.controller('myCtrl',['$scope',function($scope){
    "use strict";
    $scope.buffer ="";
    $scope.answers = [{ /*some object we do not know*/ }];

          $scope.$watch("answers",function(newValue, oldValue, scope){
                  var result =newValue.filter(function(answer){
                       return ($scope.buffer !== answer.discussion);
                  });
                  if (result.length > 0){
                      $scope.buffer = result[0].discussionId;
                  }
          },true);
}]);

有关详细信息,请观看click here