• ng-repeat里创建的自定义指令


    在ng里,所有的指令在按照意愿正常工作之前的都需要编译一下,包含angularJS的自定义指令。

    ng模板里的所有指令都会在angularJS加载完毕之后编译一下,所以那些自定义指令和事件才能工作。

    但如果是新增DOM的里如果包含自定义指令,那么就需要在angularJS的编译器下重新跑一下。

    编译指令有两种办法

    1,使用$compile()

    2,使用ng-repeat指令

    NOTE,自定义指令的模板必须包含在一个root element根节点里,如果是两个相邻的兄弟节点会报错。

    return{
        ...
        template:'<div class="child"></div><div class="child"></div>',  //会报错,没有根节点
        ...
    }

    所以正确的模板是这样的

    return{
        ...
        template:'<div class="parent">'+
            +'<div class="child"></div><div class="child"></div>'
            +'</div>',    //有了父节点包围着就好了。。。
        ...
    }

    但是我模板又出现了一个问题  Maximum call stack size exceeded

    <div class="btns saveMode">
        <button class="btn btn-primary btn-sm btn-outline add-btn"><i class="fa fa-plus"></i></button>
        <button class="btn btn-warning btn-sm btn-outline edit-btn"><i class="fa fa-edit"></i></button>
        <button class="btn btn-danger btn-sm btn-outline delete-btn"><i class="fa fa-remove"></i></button>
    </div>
    <div class="btns editMode">
        <button class="btn btn-sm btn-primary btn-outline save-btn"><i class="fa fa-save"></i></button>
        <button class="btn btn-sm btn-warning btn-outline cancel-btn"><i class="fa fa-ban"></i></button>
    </div>

    怎么调整都不行,把模板写到单独的html文件里,使用templateUrl引入也同样会出问题

    后来只能将模板加入到edit-btn标签里才没有问题;

  • 相关阅读:
    C#8.0——异步流(AsyncStream)
    递归,循环,尾递归
    C#7.2——编写安全高效的C#代码
    Ocelot中文文档-Route
    Ocelot中文文档-Configuration
    Ocelot中文文档-Not Supported
    Ocelot中文文档-Getting Started
    .NET 单元测试的利剑——模拟框架Moq(简述篇)
    输入五个数字,按从大到小的顺序输出
    函数和方法的区别
  • 原文地址:https://www.cnblogs.com/zhang-jian/p/5426437.html
Copyright © 2020-2023  润新知