angular+selecte2(angular ng-repeat渲染)
一、页面代码
<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渲染)的更多相关文章
- ASP.NET Core 2.1 Web API + Identity Server 4 + Angular 6 + Angular Material 实战小项目视频
视频简介 ASP.NET Core Web API + Angular 6的教学视频 我是后端开发人员, 前端的Angular部分讲的比较差一些, 可以直接看代码!!!! 这是一个小项目的实战视频, ...
- angular 2 angular quick start Could not find HammerJS
Angular2 的material中 引用了 hammerjs,遇到Could not find HammerJS错误,正确的步骤如下: 需要在如下位置增加 对material 和 hammerjs ...
- angular中关于自定义指令——repeat渲染完成后执行动作
业务中有时需要在异步获取数据并用ng-repeat遍历渲染完页面后执行某个操作,angular本身并没有提供监听ng-repeat渲染完成的指令,所以需要自己动手写.有经验的同学都应该知道,在ng-r ...
- angular指令监听ng-repeat渲染完成后执行自定义事件方法
今天工作中遇到需要用到ng-repeat遍历渲染完后执行某个操作,angular本身并没有提供监听ng-repeat渲染完成的指令,所以需要自己创建自定义指令. 在ng-repeat模板实例内部会暴露 ...
- angular 2 - 001 ng cli的安装和使用
angular cli 创建项目和组件 ng new my-app --skip-install cd my-app cnpm install ng serve localhost:4200 angu ...
- 利用angular指令监听ng-repeat渲染完成后执行脚本
业务中有时需要在异步获取数据并用ng-repeat遍历渲染完页面后执行某个操作,angular本身并没有提供监听ng-repeat渲染完成的指令,所以需要自己动手写.有经验的同学都应该知道,在ng-r ...
- angular中如何监控dom渲染完毕
刚刚看到群上一个人说,他们公司凡是用angular和jquery插件一起用的人,都被解雇了,没看到这句话之前我很惭愧的说我有这样用过,其实angular的生态系统那么完善,完全可以不用去操作任何的do ...
- @angular/cli (angular脚手架) 如何降级
1.卸载 npm uninstall -g @angular/cli 2.清除缓存 npm cache verify 3.查看是否卸载成功 ng v //如果显示ng 不是内部或外部的指令 则证明卸载 ...
- 简话Angular 04 Angular过滤器详解
一句话: filter是万能的数据处理器,可以过滤数据,排序数据,删除数据,扩展数据 1. 内置filter大全 url: https://docs.angularjs.org/api/ng/filt ...
随机推荐
- BaseServlet方法分发
BaseServlet.java package org.guangsoft.controller; import java.io.IOException; import java.lang.refl ...
- gitlab web登入密码忘记以后可以用如下方式修改密码
➜ ~ gitlab-rails console production Loading production environment (Rails ) irb(main)::> ➜ ~ gitl ...
- Android悬浮窗注意事项
一 动画无法运行 有时候,我们对添加的悬浮窗口,做动画的时候,始终无法运行. 那么,这个时候,我们可以对要做动画的View,再添加一个parent,即容器.将要做动画的View放入容器中. 二 悬浮窗 ...
- jquery easy ui 1.3.4 Tree树形菜单(9)
9.1.创建树形菜单 <ul id="tt" class="easyui-tree"> <li><span>第一级</ ...
- 一个非常简单的返回局部字符数组的C语言程序, 请问其输出结果?
以下是该无聊的程序: #include <stdio.h> #include <string.h> char* get_str() { int x[10]; c ...
- 开源的DevOps开发工具箱
DevOps是一组过程.方法与系统的统称,用于促进开发(应用程序/软件工程).技术运营和质量保障(QA)部门之间的沟通.协作与整合.在DevOps的整个流程中,使用一些开源工具可以促进开发与运维之间的 ...
- 关于android LinearLayout的比例布局(转载)
关于android LinearLayout的比例布局,主要有以下三个属性需要设置: 1,android:layout_width,android:layout_height,android:layo ...
- OD hit跟踪 run跟踪使用问题
刚学习OD不久,现在使用HIT跟踪 run跟踪功能,在我的程序里碰到点问题,还请赐教 选了一部分代码添加到HIT跟踪,在选的代码处设置断点,程序运行到断点,按单步跟踪,当执行到第二个PUSH时,程序就 ...
- SQL SERVER 与ACCESS、EXCEL的数据转换
--Excel导入到SQL的一个新思路: /*比如Excel有两列,A列和B列需要导入到SQL表中,反正我已经有几年不用DTS之类的工具了. 在Excel中的新的一列中,直接写公式 =CONCATEN ...
- ArduinoYun的电源插座
ArduinoYun的电源插座 Arduino Yun有两排插座,这些插座可以按类型分为三类:电源.数字IO和模拟输入.电源部分主要集中在如图1.7所示的部分本文选自Arduino Yun快速入门教程 ...