如何在ng-repeat中访问ng-repeat之外的ng-model长度

时间:2015-02-27 17:09:44

标签: javascript angularjs

我正在努力寻找一种解决方案,以便在ng-repeat中获得ng-repeat中项目的长度。如果是第二次重复,我只能得到items.length。如果我试图在孩子外面访问它,它什么都不呈现。那么如何访问父ng-repeat之外的范围呢? 示例代码:

    <ul>
    <li ng-repeat="item in items">
        {{item.some.model}}
        <ul>
            <li ng-repeat="moreItem in moreItems">
                {{moreItem.someother.model}}
            </li>
            {{moreItem.someother.model.length}} does work
        </ul>
    </li>
</ul>

{{moreItem.someother.model.length}} Doesnt work

2 个答案:

答案 0 :(得分:0)

$ scope.parent是您如何影响父范围。 $ scope.root是您对根范围的影响。希望这有帮助!

答案 1 :(得分:0)

好的,感谢您的帮助,但我找到了一种使用jQuery完成任务的简单方法。问题是如果孩子的长度为ng-repeat scope.length === 0,如何验证表单提交按钮。但是由于你不能在父范围之外访问这个子范围,我只是写了这样的简单jQuery,问题解决了:

    suppQuestCtrl.checkQuestions = function(){
            $timeout(function(){
                setInterval(function(){
                    var qLength = jQuery('li#questions-text');
                    if(qLength.length === 0){
                        jQuery('#save-button.btn.btn-save').addClass('disabled')
                    } else{
                        jQuery('#save-button.btn.btn-save').removeClass('disabled')
                    }
                },500)
            },500)
        }; suppQuestCtrl.checkQuestions();
相关问题