zoukankan      html  css  js  c++  java
  • ng-repeat 嵌套访问父作用域里的属性

    在一个项目中,需要嵌套循环输出一个二维表的里的数据

    数据结构

    [
        {
            id:1,
            list:[
                {
                    id:1,
                    name:'li'
                }
            ]
        },
        {
            id:2,
            list:[
                {
                    id:1,
                    name:'ming'
                }
            ]
        }
    ]

    模板页

    <div ng-repeat="c in obj">
        <div ng-repeat="a in c.list">
            <span ng-if="$first">
                {{$parent.$index}}
            </span>
        </div>
    </div>

    因为需要访问到父作用域里的索引值,可以通过$parent来获取对父作用域的引用

    但是每次取到的值都是一样的,纠结了一会才想起来我添加了一个ng-if动态插入DOM节点。ng-if会动态的插入和删除DOM,那么就会创建一个新的作用域,$parent.$index实际山访问到的就是第二层ng-repeat的$index变量;

    ng-if 和ng-repeat都是动态的添加或删除DOM(基于这点,就不需要记住所有的能创建作用域的指令;还有directive, ng-controller),所以会创建新的作用域,和指令一样;

    所以像我前面的代码,要想访问到第一级ng-repeat里的$index,就需要在往上访问一级

    {{$parent.$parent.$index}}

    虽然可以访问的到,但是如果层级改变,我们就需要重新调整,增加或删除$parent,看起来好像很不友好。

  • 相关阅读:
    单词统计
    意见汇总
    项目评审结果
    注册表键值
    C++ 创建快捷方式
    XPosed 示例
    直播流程
    C++隐藏任务栏图标
    C++ 屏幕录制
    DUILIB UI创建过程
  • 原文地址:https://www.cnblogs.com/zhang-jian/p/5416924.html
Copyright © 2011-2022 走看看