zoukankan      html  css  js  c++  java
  • 开发中遇到的angularJs的小问题

    1.在使用自定义指令后如果需要将指令内部的数据传给外层controller需要设置scope属性,此时注意,如果指令内传出的数据在某种情况下需要清空,如传出一个选中元素的数组,点击清空按钮则清空选中这样的功能,你在清空数组的时候不要直接使用=[],无效。

    原因:应该是由于外层已经有复制的同名变量引用了这个数组的地址,因此即使指令内从新将该数组指向新的地址,也不会触发垃圾回收机制来清除外层的引用

    解决方式:用arr.length=0即可。

    图:

                                         指令内层

                                                                                       外层有属性接收了这个categories数组

    2.关于input的checkbox选中的问题,如果你想要将事件放到li上,通过点击li时传checkbox的状态进去来改变这个值的true和false达到控制check的效果,不要使用ng-model绑定check

    原因:在点击checkbox时ng-model绑定的数据会先赋值在传入父元素li的ng-click事件中,而点击li则是直接传checkbox当前的状态,造成在click事件里写checkbox的状态判断时不一致,导致直接点击checkbox时总是维持一开始的状态

    解决办法:按照推荐使用ng-checked即可

    图:

                    click事件

                                 点击li就可以控制内部的input标签状态ng-checked不要换成ng-model

    3.在使用ionic插件进行弹出窗口的创建时,内部的js代码会执行编译两次(非ionic插件本身的bug)

    原因:暂时不详

    图:

  • 相关阅读:
    [CF997E] Good SubSegment
    CF916E
    BZOJ2006 超级钢琴
    BZOJ4571
    凸包总结
    树形DP入门
    bzoj4300 绝世好题(位运算+DP)
    bzoj4552 [Tjoi2016&Heoi2016]排序 (线段树+二分)
    SP1716 GSS3
    Noip2009 Hankson 的趣味题 (简单数学)
  • 原文地址:https://www.cnblogs.com/weblv/p/5609911.html
Copyright © 2011-2022 走看看