一、页面代码

<select id="sponsorId" select2 ng-model="sponsorSelectedObj" ng-change="sponsorSelectedChange(sponsorSelectedObj)">

  <option value="">共同创办人</option>

  <!--注意,这里不是在select标签写的ng-option,而是在option标签中使用的ng-repeat,因为下面的directive指令是只对ng-repeat有效的,对ng-option无效-->

  <option ng-repeat="s in sponsorSelected" value="{{s.ID}}" on-finish-render-filters>

</select>

二、js代码

(1)指令

      app.directive('onFinishRenderFilters', function ($timeout) {

      return {
        restrict: 'A',
        link: function(scope, element, attr) {
          if (scope.$last === true) {
            $timeout(function() {
             scope.$emit('ngRepeatFinished');
            });
           }
        }
      };
   });

(2)写在Controller里面的js,直接写在Controller下面的,不要写在Controller的某个方法,直接写在Controller里面就行了。ngRepeatFinished要和上面蓝色的字一致页面用的"-",js用驼峰的方式

  $scope.$on('ngRepeatFinished', function (ngRepeatFinishedEvent) {
      //下面是在table render完成后执行的js,下面的内容可以删掉,写自己的内容
      angular.forEach($scope.sponsorSelected,function(item,key){

        if(item.ID==$scope.topic.SponsorID){

          $scope.sponorSelectedObj = item.ID;
          $scope.topic.sponsorID = $scope.sponsorSelectedObj;

          $("#sponsorId").val(item.ID).selecte2();//编辑的时候,默认选中下拉框的其中一个值

        }

      });

    });
  });

注意:当我们在angularJs的项目中用到一些jQuery的插件时,由于angular还没加载完成,插件的js会失效,这是我们就需要用到渲染,使页面加载完成之后,才调用插件的Js。这个渲染对angular的  ng-repeats是通用的,只需要在$scope.$on('ngRepeatFinished', function (ngRepeatFinishedEvent)中写自己的逻辑代码即可。

angular+selecte2(angular ng-repeat渲染)的更多相关文章

  1. ASP.NET Core 2.1 Web API + Identity Server 4 + Angular 6 + Angular Material 实战小项目视频

    视频简介 ASP.NET Core Web API + Angular 6的教学视频 我是后端开发人员, 前端的Angular部分讲的比较差一些, 可以直接看代码!!!! 这是一个小项目的实战视频, ...

  2. angular 2 angular quick start Could not find HammerJS

    Angular2 的material中 引用了 hammerjs,遇到Could not find HammerJS错误,正确的步骤如下: 需要在如下位置增加 对material 和 hammerjs ...

  3. angular中关于自定义指令——repeat渲染完成后执行动作

    业务中有时需要在异步获取数据并用ng-repeat遍历渲染完页面后执行某个操作,angular本身并没有提供监听ng-repeat渲染完成的指令,所以需要自己动手写.有经验的同学都应该知道,在ng-r ...

  4. angular指令监听ng-repeat渲染完成后执行自定义事件方法

    今天工作中遇到需要用到ng-repeat遍历渲染完后执行某个操作,angular本身并没有提供监听ng-repeat渲染完成的指令,所以需要自己创建自定义指令. 在ng-repeat模板实例内部会暴露 ...

  5. angular 2 - 001 ng cli的安装和使用

    angular cli 创建项目和组件 ng new my-app --skip-install cd my-app cnpm install ng serve localhost:4200 angu ...

  6. 利用angular指令监听ng-repeat渲染完成后执行脚本

    业务中有时需要在异步获取数据并用ng-repeat遍历渲染完页面后执行某个操作,angular本身并没有提供监听ng-repeat渲染完成的指令,所以需要自己动手写.有经验的同学都应该知道,在ng-r ...

  7. angular中如何监控dom渲染完毕

    刚刚看到群上一个人说,他们公司凡是用angular和jquery插件一起用的人,都被解雇了,没看到这句话之前我很惭愧的说我有这样用过,其实angular的生态系统那么完善,完全可以不用去操作任何的do ...

  8. @angular/cli (angular脚手架) 如何降级

    1.卸载 npm uninstall -g @angular/cli 2.清除缓存 npm cache verify 3.查看是否卸载成功 ng v //如果显示ng 不是内部或外部的指令 则证明卸载 ...

  9. 简话Angular 04 Angular过滤器详解

    一句话: filter是万能的数据处理器,可以过滤数据,排序数据,删除数据,扩展数据 1. 内置filter大全 url: https://docs.angularjs.org/api/ng/filt ...

随机推荐

  1. opencv学习笔记(一)IplImage, CvMat, Mat 的关系

    opencv学习笔记(一)IplImage, CvMat, Mat 的关系 opencv中常见的与图像操作有关的数据容器有Mat,cvMat和IplImage,这三种类型都可以代表和显示图像,但是,M ...

  2. linux Xtrabackup安装及使用方法

    [root@centos01 ~]# rpm -Uvh http://www.percona.com/downloads/percona-release/percona-release-0.0-1.x ...

  3. javascript的队列,优先队列,循环队列

    按书上的来弄的.慢慢理解了. function Queue() { var items = []; this.enqueue = function(element){ items.push(eleme ...

  4. UML中的依赖关系

    UML中的五种关系和设计模式中的代码实现. 又重新听了一遍UML中的关系.感觉又是收获很大. UML中的关系有依赖,关联(聚合,组合),泛化(也叫继承),实现 现在一个一个的来实现: 一:依赖 依赖关 ...

  5. Xamarin.Android开发实践(九)

    Xamarin.Android之ActionBar与菜单 一.选项卡 如今很多应用都会使用碎片以便在同一个活动中能够显示多个不同的视图.在 Android 3.0 以上的版本中,我们已经可以使用Act ...

  6. 利用OData轻易实现串流数据的可视化

    OData(开放数据协议,Open Data Protocol)一直是我喜欢一种的标准(OASIS 标准),它基于RESTful协议提供了一种强大的查询和编辑数据的访问接口.虽然是微软推出的,不过在诞 ...

  7. Android Design

    在android的讲解 Android Design

  8. WITH AS短语,也叫做子查询部分(subquery factoring)

    可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到. 作为提供数据的部分. 代码例子: with temp as (select ID, Type_Name, Type_ID ...

  9. EntityFramework 6.0< Code First > 连接 Mysql数据库(转)

    http://blog.csdn.net/kmguo/article/details/19650299 网上有很多关于用EntityFrame来连接Mysql数据库的教程,可是很多并不靠谱,转载的太多 ...

  10. mysql一次插入多条数据

    mysql一次插入多条数据: INSERT INTO hk_test(username, passwd) VALUES ('qmf2', 'qmf2'),('qmf3', 'qmf3'),('qmf4 ...