角NG重复遍历页面执行其他操作。
有时我们需要在业务中异步获取数据,并在重复遍历完成页面之后执行一些操作。角本身不提供指示监控器重复绘制,因此它需要自己写的。有经验的同学应该知道,在内部NG重复模板实例会暴露出一些特殊性质的美元指数 / / 美元一美元/美元中间上 / /美元美元奇怪甚至美元每一次迭代索引(从0开始)增加时,遍历到最后一个美元的价值,最后是真的,所以,通过判断价值上美元监控NG重复执行,如何让美元的价值在遍历过程中的最后一个自定义指令
小例子,我只写了最重要的部分。
到循环数据
scope.data美元= {
{
乙方:A
},
{
乙方:B
},
{
STR:C
}
}
自定义指令 / / repeatfinish
app.directive('repeatfinish,函数(){(){
返回{
链接:功能(范围、元素、属性){
console.log(范围。美元指数)
如果(范围=最后= TRUE){
console.log('ng-repeat执行完成)
}
}
}
})
{项目} }
打开控制台,打印出0, 1, 2。当$ = 2时,最后一个值为true,并呈现NG重复。
很容易!
当然,指令最好能重用。在这个指令中写入特定的业务逻辑不利于复用。它可以指定一个处理函数renderfinish指令。
{项目} }
处理功能是通过指令的属性参数
app.directive('repeatfinish,函数(){(){
返回{
链接:功能(范围、元素、属性){
console.log(范围。美元指数)
如果(范围=最后= TRUE){
console.log('ng-repeat执行完成)
范围。$ eval(ATTR。repeatfinish)
}
}
}
})
控制器中相应的处理函数
scope.renderfinish美元=函数(){
console.log(绘制操作)
}
属性:属性是一个字符串表达式,得到。美元美元范围。eval方法是专门执行AngularJS的表达,通过它的处理函数的执行,这样的指令可以用在不同的地方,可以传输不同的处理功能。
一些企业可能更复杂,NG重复绘制完成后,需要执行多个操作数和操作有多个前端,需要使用事件触发角,在repeatfinish指令链接功能的一个事件,你的事件监控前端的学生完成作业
app.directive('repeatfinish,函数(){(){
返回{
链接:功能(范围、元素、属性){
console.log(范围。美元指数)
如果(范围=最后= TRUE){
console.log('ng-repeat执行完成)
向父控制器传递事件
美元('to-parent发射范围。);
将传递事件转移到子控制器
美元('to-child广播范围。);
}
}
}
})
监控事件控制器/父
美元美元范围。('to-parent,函数(){(){
父/控制器执行操作
})
侦听子控制器中的事件
美元美元范围。('to-child,函数(){(){
执行操作的子控制器
})
在当前控制器下,你如何听到事件角不会将事件传递给当前控制器。它可以首先将事件传递给父(子)控制器。父(子)控制器监听事件,然后将事件传递给子(父)控制器。
单词摘要:指令是角的核心功能之一,它很好地利用了一半的精力。监视NG重复执行的状态只是冰山一角。
谢谢你的阅读。我希望你能帮助你,谢谢你对这个站的支持。