Angularjs 角度范围和ng重复

Angularjs 角度范围和ng重复,angularjs,angularjs-scope,Angularjs,Angularjs Scope,简而言之,我的问题 如何在控制器内部操作ng repeat创建的隔离作用域 要阅读我遇到的全部问题,请继续阅读以下内容: 我有一个关于时间线的集合,每个集合都有一个捕获的集合(基本上是图像) HTML <ul> <li ng-repeat="timeline in timelines | filter:search | orderBy:'event_date':sort"> <ul ng-if="timeline.captures">

简而言之,我的问题

如何在控制器内部操作ng repeat创建的隔离作用域

要阅读我遇到的全部问题,请继续阅读以下内容:

我有一个关于时间线的集合,每个集合都有一个捕获的集合(基本上是图像)

HTML

<ul>
    <li ng-repeat="timeline in timelines | filter:search | orderBy:'event_date':sort">
        <ul ng-if="timeline.captures">
            <li ng-repeat="captures in timeline.captures | limitTo:imageLimit">
                <img ng-src="<% captures.capture_location %>">
            </li>
        </ul>
        <a ng-click="(imageLimit = imageLimit + 1)">Load more</a>
    </li>
</ul>
为此,我尝试了以下方法:

在我的控制器里面

$scope.imageLimit = 1; // number of images to show initially on page load

$scope.loadMore = function() {
    $scope.imageLimit += 1;
};

现在发生的事情是,这不是在重复范围内创建
imageLimit
模型(如果您理解我的意思),而是在控制器范围内创建
imageLimit
模型。这也是预期的行为,但我想知道如何操作控制器内重复时间线(该时间线的隔离范围)内的范围?

如果我理解正确,您希望能够独立于其他时间线,为每个时间线加载更多()。因此,
loadMore()
函数应该将时间线作为参数,限制应该是时间线的一个属性:

angular.forEach($scope.timelines, function(timeline) {
    timeline.imageLimit = 10; // default value
});

$scope.loadMore(timeline) {
    timeline.imageLimit++;
}
在模板中:

<li ng-repeat="captures in timeline.captures | limitTo:timeline.imageLimit">
...
<a ng-click="loadMore(timeline)">Load more</a>
  • ... 加载更多
  • 如果我理解正确,您希望能够独立于其他时间线,为每个时间线加载更多()。因此,
    loadMore()
    函数应该将时间线作为参数,限制应该是时间线的一个属性:

    angular.forEach($scope.timelines, function(timeline) {
        timeline.imageLimit = 10; // default value
    });
    
    $scope.loadMore(timeline) {
        timeline.imageLimit++;
    }
    
    在模板中:

    <li ng-repeat="captures in timeline.captures | limitTo:timeline.imageLimit">
    ...
    <a ng-click="loadMore(timeline)">Load more</a>
    
  • ... 加载更多
  • 如果我理解正确,您希望能够独立于其他时间线,为每个时间线加载更多()。因此,
    loadMore()
    函数应该将时间线作为参数,限制应该是时间线的一个属性:

    angular.forEach($scope.timelines, function(timeline) {
        timeline.imageLimit = 10; // default value
    });
    
    $scope.loadMore(timeline) {
        timeline.imageLimit++;
    }
    
    在模板中:

    <li ng-repeat="captures in timeline.captures | limitTo:timeline.imageLimit">
    ...
    <a ng-click="loadMore(timeline)">Load more</a>
    
  • ... 加载更多
  • 如果我理解正确,您希望能够独立于其他时间线,为每个时间线加载更多()。因此,
    loadMore()
    函数应该将时间线作为参数,限制应该是时间线的一个属性:

    angular.forEach($scope.timelines, function(timeline) {
        timeline.imageLimit = 10; // default value
    });
    
    $scope.loadMore(timeline) {
        timeline.imageLimit++;
    }
    
    在模板中:

    <li ng-repeat="captures in timeline.captures | limitTo:timeline.imageLimit">
    ...
    <a ng-click="loadMore(timeline)">Load more</a>
    
  • ... 加载更多
  • 谢谢。工作得很好。。更重要的是我学会了如何解决这样的问题。谢谢。工作得很好。。更重要的是我学会了如何解决这样的问题。谢谢。工作得很好。。更重要的是我学会了如何解决这样的问题。谢谢。工作得很好。。更重要的是我学会了如何解决这样的问题。