搜索

首页  >  问答  >  正文

angular.js - ng-repeat完之后能不能执行一个function

我往数组中push一条数据,页面上不就执行循环吗ng-repeat,我想让循环完事之后,触发一个点击事件,点击最后一条,thats all

世界只因有你世界只因有你2744 天前539

全部回复(2)我来回复

  • 给我你的怀抱

    给我你的怀抱2017-05-15 16:56:43

    要我说还是一劳永逸来得清爽:

    angular.module('demo', [])
    
    .directive('repeatDone', function() {
        return {
            link: function(scope, element, attrs) {
                if (scope.$last) {                   // 这个判断意味着最后一个 OK
                    scope.$eval(attrs.repeatDone)    // 执行绑定的表达式
                }
            }
        }
    })

    用法:

    <!-- 模版 -->
    <p ng-repeat="..." repeat-done="doSomething()"></p>
    // 控制器
    function SomeController(scope) {
        scope.doSomething = function() {
            // 做你爱做的事
        }
    }

    回复
    0
  • 迷茫

    迷茫2017-05-15 16:56:43

    使用ng-class来实现,这是我的方案:

    点击预览可以直接看效果:http://codepen.io/liekkas/pen/JdgLzJ

    回复
    0
  • 取消回复