zoukankan      html  css  js  c++  java
  • angular采坑记录

            在angular中会遇到一些莫名的问题,导致不能完成想要的功能,可能是某项用法使用错误,或许是angular相对应不支持,或者是我们功力根本就没有达到。为了在每次采坑之后能有所收获,再遇到时能理解其根本的原因,所以在这里做下记录。希望对自己和朋友们有所帮助。

    1.$scope的值无法从model层传递到view层

       1.

            $scope下的key是基本类型,并且当其值变化的时候,类型变化,导致其双向绑定失败

    eg:

    $scope.activeCategoryMenu = 3;
    $scope.activeCategoryMenu = 'liveMenu';

    发生这个变化的时候数据双向绑定在view层不会变化,具体原理待查......

    解决办法:

    在key前在加一层数据,变为引用类型

    $scope.someObj.activeCategoryMenu = 3;
    $scope.someObj.activeCategoryMenu = 'liveMenu';

    这样就可以在view层体现数据的变化了;

    2.uib tabs

    使用的angular-ui-boostrap类库的组件Tabs,此时在tabs切换时,同样,数据无法传递到view层,

    解决办法:在数据前在加一层数据,变为引用类型。

    3.$apply

    在angular中使用setTimeout、setInterval、非$http的ajax请求,函数里面的要处理的数据不能从model层传递到view层,需要运行apply;

    setTimeout(function() {
        $scope.$apply(function() {  
            $scope.activeNum = 5;  
        )
    }, 5000);

     4.控制器的名称有重复的话,作用域会使用上次的缓存,尤其是弹出层的控制器名

  • 相关阅读:
    XML HTML CSS JS的区别整理
    Python的作用域
    python文件操作总结
    python的open文件操作
    python使用struct处理二进制
    webstorm
    vue-cli项目中,配合element_ui来实现上传图片与视频到oss上。
    vue-cli项目中如何实现局部页面的刷新?
    基于cropper图片裁剪,兼容PC端与移动端
    跨域的完全讲解
  • 原文地址:https://www.cnblogs.com/bagexiaowenti/p/8258358.html
Copyright © 2011-2022 走看看